// Copyright 2024 Google LLC All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// This code was autogenerated. Do not edit directly.
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: protoc-gen-openapiv2/options/openapiv2.proto
// Protobuf C++ Version: 5.26.1

#include "protoc-gen-openapiv2/options/openapiv2.pb.h"

#include <algorithm>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/descriptor.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/reflection_ops.h"
#include "google/protobuf/wire_format.h"
#include "google/protobuf/generated_message_tctable_impl.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace grpc {
namespace gateway {
namespace protoc_gen_openapiv2 {
namespace options {

inline constexpr SecurityRequirement_SecurityRequirementValue::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : scope_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SecurityRequirement_SecurityRequirementValue::SecurityRequirement_SecurityRequirementValue(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SecurityRequirement_SecurityRequirementValueDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SecurityRequirement_SecurityRequirementValueDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SecurityRequirement_SecurityRequirementValueDefaultTypeInternal() {}
  union {
    SecurityRequirement_SecurityRequirementValue _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SecurityRequirement_SecurityRequirementValueDefaultTypeInternal _SecurityRequirement_SecurityRequirementValue_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR Scopes_ScopeEntry_DoNotUse::Scopes_ScopeEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct Scopes_ScopeEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Scopes_ScopeEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Scopes_ScopeEntry_DoNotUseDefaultTypeInternal() {}
  union {
    Scopes_ScopeEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Scopes_ScopeEntry_DoNotUseDefaultTypeInternal _Scopes_ScopeEntry_DoNotUse_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR Response_ExamplesEntry_DoNotUse::Response_ExamplesEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct Response_ExamplesEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Response_ExamplesEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Response_ExamplesEntry_DoNotUseDefaultTypeInternal() {}
  union {
    Response_ExamplesEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Response_ExamplesEntry_DoNotUseDefaultTypeInternal _Response_ExamplesEntry_DoNotUse_default_instance_;

inline constexpr License::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR License::License(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct LicenseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR LicenseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~LicenseDefaultTypeInternal() {}
  union {
    License _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LicenseDefaultTypeInternal _License_default_instance_;

inline constexpr JSONSchema_FieldConfiguration::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : path_param_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JSONSchema_FieldConfiguration::JSONSchema_FieldConfiguration(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JSONSchema_FieldConfigurationDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JSONSchema_FieldConfigurationDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JSONSchema_FieldConfigurationDefaultTypeInternal() {}
  union {
    JSONSchema_FieldConfiguration _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JSONSchema_FieldConfigurationDefaultTypeInternal _JSONSchema_FieldConfiguration_default_instance_;

inline constexpr Header::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        format_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        default__(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        pattern_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Header::Header(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct HeaderDefaultTypeInternal {
  PROTOBUF_CONSTEXPR HeaderDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~HeaderDefaultTypeInternal() {}
  union {
    Header _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 HeaderDefaultTypeInternal _Header_default_instance_;

inline constexpr ExternalDocumentation::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ExternalDocumentation::ExternalDocumentation(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ExternalDocumentationDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ExternalDocumentationDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ExternalDocumentationDefaultTypeInternal() {}
  union {
    ExternalDocumentation _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExternalDocumentationDefaultTypeInternal _ExternalDocumentation_default_instance_;

inline constexpr Contact::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        email_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Contact::Contact(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ContactDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ContactDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ContactDefaultTypeInternal() {}
  union {
    Contact _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ContactDefaultTypeInternal _Contact_default_instance_;

inline constexpr Tag::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        external_docs_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR Tag::Tag(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TagDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TagDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TagDefaultTypeInternal() {}
  union {
    Tag _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TagDefaultTypeInternal _Tag_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR Swagger_ExtensionsEntry_DoNotUse::Swagger_ExtensionsEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct Swagger_ExtensionsEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Swagger_ExtensionsEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Swagger_ExtensionsEntry_DoNotUseDefaultTypeInternal() {}
  union {
    Swagger_ExtensionsEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Swagger_ExtensionsEntry_DoNotUseDefaultTypeInternal _Swagger_ExtensionsEntry_DoNotUse_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR SecurityScheme_ExtensionsEntry_DoNotUse::SecurityScheme_ExtensionsEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct SecurityScheme_ExtensionsEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SecurityScheme_ExtensionsEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SecurityScheme_ExtensionsEntry_DoNotUseDefaultTypeInternal() {}
  union {
    SecurityScheme_ExtensionsEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SecurityScheme_ExtensionsEntry_DoNotUseDefaultTypeInternal _SecurityScheme_ExtensionsEntry_DoNotUse_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR SecurityRequirement_SecurityRequirementEntry_DoNotUse::SecurityRequirement_SecurityRequirementEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct SecurityRequirement_SecurityRequirementEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SecurityRequirement_SecurityRequirementEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SecurityRequirement_SecurityRequirementEntry_DoNotUseDefaultTypeInternal() {}
  union {
    SecurityRequirement_SecurityRequirementEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SecurityRequirement_SecurityRequirementEntry_DoNotUseDefaultTypeInternal _SecurityRequirement_SecurityRequirementEntry_DoNotUse_default_instance_;

inline constexpr Scopes::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : scope_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Scopes::Scopes(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ScopesDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ScopesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ScopesDefaultTypeInternal() {}
  union {
    Scopes _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ScopesDefaultTypeInternal _Scopes_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR Response_HeadersEntry_DoNotUse::Response_HeadersEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct Response_HeadersEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Response_HeadersEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Response_HeadersEntry_DoNotUseDefaultTypeInternal() {}
  union {
    Response_HeadersEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Response_HeadersEntry_DoNotUseDefaultTypeInternal _Response_HeadersEntry_DoNotUse_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR Response_ExtensionsEntry_DoNotUse::Response_ExtensionsEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct Response_ExtensionsEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Response_ExtensionsEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Response_ExtensionsEntry_DoNotUseDefaultTypeInternal() {}
  union {
    Response_ExtensionsEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Response_ExtensionsEntry_DoNotUseDefaultTypeInternal _Response_ExtensionsEntry_DoNotUse_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR Operation_ExtensionsEntry_DoNotUse::Operation_ExtensionsEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct Operation_ExtensionsEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Operation_ExtensionsEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Operation_ExtensionsEntry_DoNotUseDefaultTypeInternal() {}
  union {
    Operation_ExtensionsEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Operation_ExtensionsEntry_DoNotUseDefaultTypeInternal _Operation_ExtensionsEntry_DoNotUse_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR JSONSchema_ExtensionsEntry_DoNotUse::JSONSchema_ExtensionsEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct JSONSchema_ExtensionsEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JSONSchema_ExtensionsEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JSONSchema_ExtensionsEntry_DoNotUseDefaultTypeInternal() {}
  union {
    JSONSchema_ExtensionsEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JSONSchema_ExtensionsEntry_DoNotUseDefaultTypeInternal _JSONSchema_ExtensionsEntry_DoNotUse_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR Info_ExtensionsEntry_DoNotUse::Info_ExtensionsEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct Info_ExtensionsEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Info_ExtensionsEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Info_ExtensionsEntry_DoNotUseDefaultTypeInternal() {}
  union {
    Info_ExtensionsEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Info_ExtensionsEntry_DoNotUseDefaultTypeInternal _Info_ExtensionsEntry_DoNotUse_default_instance_;

inline constexpr SecurityScheme::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        extensions_{},
        description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        authorization_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        token_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        scopes_{nullptr},
        type_{static_cast< ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type >(0)},
        in_{static_cast< ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In >(0)},
        flow_{static_cast< ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR SecurityScheme::SecurityScheme(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SecuritySchemeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SecuritySchemeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SecuritySchemeDefaultTypeInternal() {}
  union {
    SecurityScheme _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SecuritySchemeDefaultTypeInternal _SecurityScheme_default_instance_;

inline constexpr SecurityRequirement::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : security_requirement_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SecurityRequirement::SecurityRequirement(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SecurityRequirementDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SecurityRequirementDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SecurityRequirementDefaultTypeInternal() {}
  union {
    SecurityRequirement _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SecurityRequirementDefaultTypeInternal _SecurityRequirement_default_instance_;

inline constexpr JSONSchema::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        required_{},
        array_{},
        type_{},
        _type_cached_byte_size_{0},
        enum__{},
        extensions_{},
        ref_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        default__(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        example_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        pattern_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        format_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        field_configuration_{nullptr},
        multiple_of_{0},
        maximum_{0},
        minimum_{0},
        max_length_{::uint64_t{0u}},
        min_length_{::uint64_t{0u}},
        max_items_{::uint64_t{0u}},
        min_items_{::uint64_t{0u}},
        max_properties_{::uint64_t{0u}},
        min_properties_{::uint64_t{0u}},
        read_only_{false},
        exclusive_maximum_{false},
        exclusive_minimum_{false},
        unique_items_{false} {}

template <typename>
PROTOBUF_CONSTEXPR JSONSchema::JSONSchema(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JSONSchemaDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JSONSchemaDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JSONSchemaDefaultTypeInternal() {}
  union {
    JSONSchema _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JSONSchemaDefaultTypeInternal _JSONSchema_default_instance_;

inline constexpr Info::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        extensions_{},
        title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        terms_of_service_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        contact_{nullptr},
        license_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR Info::Info(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct InfoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR InfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~InfoDefaultTypeInternal() {}
  union {
    Info _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InfoDefaultTypeInternal _Info_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR SecurityDefinitions_SecurityEntry_DoNotUse::SecurityDefinitions_SecurityEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct SecurityDefinitions_SecurityEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SecurityDefinitions_SecurityEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SecurityDefinitions_SecurityEntry_DoNotUseDefaultTypeInternal() {}
  union {
    SecurityDefinitions_SecurityEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SecurityDefinitions_SecurityEntry_DoNotUseDefaultTypeInternal _SecurityDefinitions_SecurityEntry_DoNotUse_default_instance_;

inline constexpr Schema::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        discriminator_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        example_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        json_schema_{nullptr},
        external_docs_{nullptr},
        read_only_{false} {}

template <typename>
PROTOBUF_CONSTEXPR Schema::Schema(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SchemaDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SchemaDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SchemaDefaultTypeInternal() {}
  union {
    Schema _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SchemaDefaultTypeInternal _Schema_default_instance_;

inline constexpr SecurityDefinitions::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : security_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SecurityDefinitions::SecurityDefinitions(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SecurityDefinitionsDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SecurityDefinitionsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SecurityDefinitionsDefaultTypeInternal() {}
  union {
    SecurityDefinitions _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SecurityDefinitionsDefaultTypeInternal _SecurityDefinitions_default_instance_;

inline constexpr Response::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        headers_{},
        examples_{},
        extensions_{},
        description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        schema_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR Response::Response(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ResponseDefaultTypeInternal() {}
  union {
    Response _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ResponseDefaultTypeInternal _Response_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR Swagger_ResponsesEntry_DoNotUse::Swagger_ResponsesEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct Swagger_ResponsesEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Swagger_ResponsesEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Swagger_ResponsesEntry_DoNotUseDefaultTypeInternal() {}
  union {
    Swagger_ResponsesEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Swagger_ResponsesEntry_DoNotUseDefaultTypeInternal _Swagger_ResponsesEntry_DoNotUse_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR Operation_ResponsesEntry_DoNotUse::Operation_ResponsesEntry_DoNotUse(::_pbi::ConstantInitialized) {}
struct Operation_ResponsesEntry_DoNotUseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Operation_ResponsesEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Operation_ResponsesEntry_DoNotUseDefaultTypeInternal() {}
  union {
    Operation_ResponsesEntry_DoNotUse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Operation_ResponsesEntry_DoNotUseDefaultTypeInternal _Operation_ResponsesEntry_DoNotUse_default_instance_;

inline constexpr Swagger::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        schemes_{},
        _schemes_cached_byte_size_{0},
        consumes_{},
        produces_{},
        responses_{},
        security_{},
        extensions_{},
        swagger_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        host_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        base_path_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        info_{nullptr},
        security_definitions_{nullptr},
        external_docs_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR Swagger::Swagger(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SwaggerDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SwaggerDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SwaggerDefaultTypeInternal() {}
  union {
    Swagger _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SwaggerDefaultTypeInternal _Swagger_default_instance_;

inline constexpr Operation::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        tags_{},
        consumes_{},
        produces_{},
        responses_{},
        schemes_{},
        _schemes_cached_byte_size_{0},
        security_{},
        extensions_{},
        summary_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        operation_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        external_docs_{nullptr},
        deprecated_{false} {}

template <typename>
PROTOBUF_CONSTEXPR Operation::Operation(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct OperationDefaultTypeInternal {
  PROTOBUF_CONSTEXPR OperationDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~OperationDefaultTypeInternal() {}
  union {
    Operation _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OperationDefaultTypeInternal _Operation_default_instance_;
}  // namespace options
}  // namespace protoc_gen_openapiv2
}  // namespace gateway
}  // namespace grpc
static ::_pb::Metadata file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[30];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[5];
static constexpr const ::_pb::ServiceDescriptor**
    file_level_service_descriptors_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto = nullptr;
const ::uint32_t
    TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
        protodesc_cold) = {
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger_ResponsesEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger_ResponsesEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger_ResponsesEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger_ResponsesEntry_DoNotUse, value_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger_ExtensionsEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger_ExtensionsEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger_ExtensionsEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger_ExtensionsEntry_DoNotUse, value_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.swagger_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.info_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.host_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.base_path_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.schemes_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.consumes_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.produces_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.responses_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.security_definitions_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.security_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.external_docs_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Swagger, _impl_.extensions_),
        ~0u,
        0,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        1,
        ~0u,
        2,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation_ResponsesEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation_ResponsesEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation_ResponsesEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation_ResponsesEntry_DoNotUse, value_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation_ExtensionsEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation_ExtensionsEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation_ExtensionsEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation_ExtensionsEntry_DoNotUse, value_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.tags_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.summary_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.description_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.external_docs_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.operation_id_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.consumes_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.produces_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.responses_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.schemes_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.security_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Operation, _impl_.extensions_),
        ~0u,
        ~0u,
        ~0u,
        0,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Header, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Header, _impl_.description_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Header, _impl_.type_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Header, _impl_.format_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Header, _impl_.default__),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Header, _impl_.pattern_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_HeadersEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_HeadersEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_HeadersEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_HeadersEntry_DoNotUse, value_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_ExamplesEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_ExamplesEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_ExamplesEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_ExamplesEntry_DoNotUse, value_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_ExtensionsEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_ExtensionsEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_ExtensionsEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response_ExtensionsEntry_DoNotUse, value_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response, _impl_.description_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response, _impl_.schema_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response, _impl_.headers_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response, _impl_.examples_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Response, _impl_.extensions_),
        ~0u,
        0,
        ~0u,
        ~0u,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info_ExtensionsEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info_ExtensionsEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info_ExtensionsEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info_ExtensionsEntry_DoNotUse, value_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info, _impl_.title_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info, _impl_.description_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info, _impl_.terms_of_service_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info, _impl_.contact_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info, _impl_.license_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info, _impl_.version_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Info, _impl_.extensions_),
        ~0u,
        ~0u,
        ~0u,
        0,
        1,
        ~0u,
        ~0u,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Contact, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Contact, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Contact, _impl_.url_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Contact, _impl_.email_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::License, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::License, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::License, _impl_.url_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation, _impl_.description_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation, _impl_.url_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Schema, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Schema, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Schema, _impl_.json_schema_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Schema, _impl_.discriminator_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Schema, _impl_.read_only_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Schema, _impl_.external_docs_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Schema, _impl_.example_),
        0,
        ~0u,
        ~0u,
        1,
        ~0u,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration, _impl_.path_param_name_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_ExtensionsEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_ExtensionsEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_ExtensionsEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_ExtensionsEntry_DoNotUse, value_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.ref_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.title_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.description_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.default__),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.read_only_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.example_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.multiple_of_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.maximum_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.exclusive_maximum_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.minimum_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.exclusive_minimum_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.max_length_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.min_length_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.pattern_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.max_items_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.min_items_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.unique_items_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.max_properties_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.min_properties_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.required_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.array_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.type_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.format_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.enum__),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.field_configuration_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema, _impl_.extensions_),
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        0,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Tag, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Tag, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Tag, _impl_.description_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Tag, _impl_.external_docs_),
        ~0u,
        0,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions_SecurityEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions_SecurityEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions_SecurityEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions_SecurityEntry_DoNotUse, value_),
        0,
        1,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions, _impl_.security_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_ExtensionsEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_ExtensionsEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_ExtensionsEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_ExtensionsEntry_DoNotUse, value_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme, _impl_.type_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme, _impl_.description_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme, _impl_.in_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme, _impl_.flow_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme, _impl_.authorization_url_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme, _impl_.token_url_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme, _impl_.scopes_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme, _impl_.extensions_),
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        0,
        ~0u,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue, _impl_.scope_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementEntry_DoNotUse, value_),
        0,
        1,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement, _impl_.security_requirement_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Scopes_ScopeEntry_DoNotUse, _has_bits_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Scopes_ScopeEntry_DoNotUse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Scopes_ScopeEntry_DoNotUse, key_),
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Scopes_ScopeEntry_DoNotUse, value_),
        0,
        1,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Scopes, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::grpc::gateway::protoc_gen_openapiv2::options::Scopes, _impl_.scope_),
};

static const ::_pbi::MigrationSchema
    schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
        {0, 10, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Swagger_ResponsesEntry_DoNotUse)},
        {12, 22, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Swagger_ExtensionsEntry_DoNotUse)},
        {24, 44, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Swagger)},
        {56, 66, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Operation_ResponsesEntry_DoNotUse)},
        {68, 78, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Operation_ExtensionsEntry_DoNotUse)},
        {80, 100, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Operation)},
        {112, -1, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Header)},
        {125, 135, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Response_HeadersEntry_DoNotUse)},
        {137, 147, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Response_ExamplesEntry_DoNotUse)},
        {149, 159, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Response_ExtensionsEntry_DoNotUse)},
        {161, 174, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Response)},
        {179, 189, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Info_ExtensionsEntry_DoNotUse)},
        {191, 206, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Info)},
        {213, -1, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Contact)},
        {224, -1, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::License)},
        {234, -1, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation)},
        {244, 257, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Schema)},
        {262, -1, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration)},
        {271, 281, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_ExtensionsEntry_DoNotUse)},
        {283, 317, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema)},
        {343, 353, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Tag)},
        {355, 365, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions_SecurityEntry_DoNotUse)},
        {367, -1, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions)},
        {376, 386, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_ExtensionsEntry_DoNotUse)},
        {388, 405, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme)},
        {414, -1, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue)},
        {423, 433, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementEntry_DoNotUse)},
        {435, -1, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement)},
        {444, 454, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Scopes_ScopeEntry_DoNotUse)},
        {456, -1, -1, sizeof(::grpc::gateway::protoc_gen_openapiv2::options::Scopes)},
};
static const ::_pb::Message* const file_default_instances[] = {
    &::grpc::gateway::protoc_gen_openapiv2::options::_Swagger_ResponsesEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Swagger_ExtensionsEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Swagger_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Operation_ResponsesEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Operation_ExtensionsEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Operation_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Header_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Response_HeadersEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Response_ExamplesEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Response_ExtensionsEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Response_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Info_ExtensionsEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Info_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Contact_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_License_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_ExternalDocumentation_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Schema_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_JSONSchema_FieldConfiguration_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_JSONSchema_ExtensionsEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_JSONSchema_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Tag_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_SecurityDefinitions_SecurityEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_SecurityDefinitions_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_SecurityScheme_ExtensionsEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_SecurityScheme_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_SecurityRequirement_SecurityRequirementValue_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_SecurityRequirement_SecurityRequirementEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_SecurityRequirement_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Scopes_ScopeEntry_DoNotUse_default_instance_._instance,
    &::grpc::gateway::protoc_gen_openapiv2::options::_Scopes_default_instance_._instance,
};
const char descriptor_table_protodef_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
    protodesc_cold) = {
    "\n,protoc-gen-openapiv2/options/openapiv2"
    ".proto\022)grpc.gateway.protoc_gen_openapiv"
    "2.options\032\034google/protobuf/struct.proto\""
    "\335\006\n\007Swagger\022\017\n\007swagger\030\001 \001(\t\022=\n\004info\030\002 \001"
    "(\0132/.grpc.gateway.protoc_gen_openapiv2.o"
    "ptions.Info\022\014\n\004host\030\003 \001(\t\022\021\n\tbase_path\030\004"
    " \001(\t\022B\n\007schemes\030\005 \003(\01621.grpc.gateway.pro"
    "toc_gen_openapiv2.options.Scheme\022\020\n\010cons"
    "umes\030\006 \003(\t\022\020\n\010produces\030\007 \003(\t\022T\n\tresponse"
    "s\030\n \003(\0132A.grpc.gateway.protoc_gen_openap"
    "iv2.options.Swagger.ResponsesEntry\022\\\n\024se"
    "curity_definitions\030\013 \001(\0132>.grpc.gateway."
    "protoc_gen_openapiv2.options.SecurityDef"
    "initions\022P\n\010security\030\014 \003(\0132>.grpc.gatewa"
    "y.protoc_gen_openapiv2.options.SecurityR"
    "equirement\022W\n\rexternal_docs\030\016 \001(\0132@.grpc"
    ".gateway.protoc_gen_openapiv2.options.Ex"
    "ternalDocumentation\022V\n\nextensions\030\017 \003(\0132"
    "B.grpc.gateway.protoc_gen_openapiv2.opti"
    "ons.Swagger.ExtensionsEntry\032e\n\016Responses"
    "Entry\022\013\n\003key\030\001 \001(\t\022B\n\005value\030\002 \001(\01323.grpc"
    ".gateway.protoc_gen_openapiv2.options.Re"
    "sponse:\0028\001\032I\n\017ExtensionsEntry\022\013\n\003key\030\001 \001"
    "(\t\022%\n\005value\030\002 \001(\0132\026.google.protobuf.Valu"
    "e:\0028\001J\004\010\010\020\tJ\004\010\t\020\nJ\004\010\r\020\016\"\346\005\n\tOperation\022\014\n"
    "\004tags\030\001 \003(\t\022\017\n\007summary\030\002 \001(\t\022\023\n\013descript"
    "ion\030\003 \001(\t\022W\n\rexternal_docs\030\004 \001(\0132@.grpc."
    "gateway.protoc_gen_openapiv2.options.Ext"
    "ernalDocumentation\022\024\n\014operation_id\030\005 \001(\t"
    "\022\020\n\010consumes\030\006 \003(\t\022\020\n\010produces\030\007 \003(\t\022V\n\t"
    "responses\030\t \003(\0132C.grpc.gateway.protoc_ge"
    "n_openapiv2.options.Operation.ResponsesE"
    "ntry\022B\n\007schemes\030\n \003(\01621.grpc.gateway.pro"
    "toc_gen_openapiv2.options.Scheme\022\022\n\ndepr"
    "ecated\030\013 \001(\010\022P\n\010security\030\014 \003(\0132>.grpc.ga"
    "teway.protoc_gen_openapiv2.options.Secur"
    "ityRequirement\022X\n\nextensions\030\r \003(\0132D.grp"
    "c.gateway.protoc_gen_openapiv2.options.O"
    "peration.ExtensionsEntry\032e\n\016ResponsesEnt"
    "ry\022\013\n\003key\030\001 \001(\t\022B\n\005value\030\002 \001(\01323.grpc.ga"
    "teway.protoc_gen_openapiv2.options.Respo"
    "nse:\0028\001\032I\n\017ExtensionsEntry\022\013\n\003key\030\001 \001(\t\022"
    "%\n\005value\030\002 \001(\0132\026.google.protobuf.Value:\002"
    "8\001J\004\010\010\020\t\"\253\001\n\006Header\022\023\n\013description\030\001 \001(\t"
    "\022\014\n\004type\030\002 \001(\t\022\016\n\006format\030\003 \001(\t\022\017\n\007defaul"
    "t\030\006 \001(\t\022\017\n\007pattern\030\r \001(\tJ\004\010\004\020\005J\004\010\005\020\006J\004\010\007"
    "\020\010J\004\010\010\020\tJ\004\010\t\020\nJ\004\010\n\020\013J\004\010\013\020\014J\004\010\014\020\rJ\004\010\016\020\017J\004"
    "\010\017\020\020J\004\010\020\020\021J\004\010\021\020\022J\004\010\022\020\023\"\302\004\n\010Response\022\023\n\013d"
    "escription\030\001 \001(\t\022A\n\006schema\030\002 \001(\01321.grpc."
    "gateway.protoc_gen_openapiv2.options.Sch"
    "ema\022Q\n\007headers\030\003 \003(\0132@.grpc.gateway.prot"
    "oc_gen_openapiv2.options.Response.Header"
    "sEntry\022S\n\010examples\030\004 \003(\0132A.grpc.gateway."
    "protoc_gen_openapiv2.options.Response.Ex"
    "amplesEntry\022W\n\nextensions\030\005 \003(\0132C.grpc.g"
    "ateway.protoc_gen_openapiv2.options.Resp"
    "onse.ExtensionsEntry\032a\n\014HeadersEntry\022\013\n\003"
    "key\030\001 \001(\t\022@\n\005value\030\002 \001(\01321.grpc.gateway."
    "protoc_gen_openapiv2.options.Header:\0028\001\032"
    "/\n\rExamplesEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002"
    " \001(\t:\0028\001\032I\n\017ExtensionsEntry\022\013\n\003key\030\001 \001(\t"
    "\022%\n\005value\030\002 \001(\0132\026.google.protobuf.Value:"
    "\0028\001\"\377\002\n\004Info\022\r\n\005title\030\001 \001(\t\022\023\n\013descripti"
    "on\030\002 \001(\t\022\030\n\020terms_of_service\030\003 \001(\t\022C\n\007co"
    "ntact\030\004 \001(\01322.grpc.gateway.protoc_gen_op"
    "enapiv2.options.Contact\022C\n\007license\030\005 \001(\013"
    "22.grpc.gateway.protoc_gen_openapiv2.opt"
    "ions.License\022\017\n\007version\030\006 \001(\t\022S\n\nextensi"
    "ons\030\007 \003(\0132\?.grpc.gateway.protoc_gen_open"
    "apiv2.options.Info.ExtensionsEntry\032I\n\017Ex"
    "tensionsEntry\022\013\n\003key\030\001 \001(\t\022%\n\005value\030\002 \001("
    "\0132\026.google.protobuf.Value:\0028\001\"3\n\007Contact"
    "\022\014\n\004name\030\001 \001(\t\022\013\n\003url\030\002 \001(\t\022\r\n\005email\030\003 \001"
    "(\t\"$\n\007License\022\014\n\004name\030\001 \001(\t\022\013\n\003url\030\002 \001(\t"
    "\"9\n\025ExternalDocumentation\022\023\n\013description"
    "\030\001 \001(\t\022\013\n\003url\030\002 \001(\t\"\356\001\n\006Schema\022J\n\013json_s"
    "chema\030\001 \001(\01325.grpc.gateway.protoc_gen_op"
    "enapiv2.options.JSONSchema\022\025\n\rdiscrimina"
    "tor\030\002 \001(\t\022\021\n\tread_only\030\003 \001(\010\022W\n\rexternal"
    "_docs\030\005 \001(\0132@.grpc.gateway.protoc_gen_op"
    "enapiv2.options.ExternalDocumentation\022\017\n"
    "\007example\030\006 \001(\tJ\004\010\004\020\005\"\242\010\n\nJSONSchema\022\013\n\003r"
    "ef\030\003 \001(\t\022\r\n\005title\030\005 \001(\t\022\023\n\013description\030\006"
    " \001(\t\022\017\n\007default\030\007 \001(\t\022\021\n\tread_only\030\010 \001(\010"
    "\022\017\n\007example\030\t \001(\t\022\023\n\013multiple_of\030\n \001(\001\022\017"
    "\n\007maximum\030\013 \001(\001\022\031\n\021exclusive_maximum\030\014 \001"
    "(\010\022\017\n\007minimum\030\r \001(\001\022\031\n\021exclusive_minimum"
    "\030\016 \001(\010\022\022\n\nmax_length\030\017 \001(\004\022\022\n\nmin_length"
    "\030\020 \001(\004\022\017\n\007pattern\030\021 \001(\t\022\021\n\tmax_items\030\024 \001"
    "(\004\022\021\n\tmin_items\030\025 \001(\004\022\024\n\014unique_items\030\026 "
    "\001(\010\022\026\n\016max_properties\030\030 \001(\004\022\026\n\016min_prope"
    "rties\030\031 \001(\004\022\020\n\010required\030\032 \003(\t\022\r\n\005array\030\""
    " \003(\t\022Y\n\004type\030# \003(\0162K.grpc.gateway.protoc"
    "_gen_openapiv2.options.JSONSchema.JSONSc"
    "hemaSimpleTypes\022\016\n\006format\030$ \001(\t\022\014\n\004enum\030"
    ". \003(\t\022f\n\023field_configuration\030\351\007 \001(\0132H.gr"
    "pc.gateway.protoc_gen_openapiv2.options."
    "JSONSchema.FieldConfiguration\022Y\n\nextensi"
    "ons\0300 \003(\0132E.grpc.gateway.protoc_gen_open"
    "apiv2.options.JSONSchema.ExtensionsEntry"
    "\032-\n\022FieldConfiguration\022\027\n\017path_param_nam"
    "e\030/ \001(\t\032I\n\017ExtensionsEntry\022\013\n\003key\030\001 \001(\t\022"
    "%\n\005value\030\002 \001(\0132\026.google.protobuf.Value:\002"
    "8\001\"w\n\025JSONSchemaSimpleTypes\022\013\n\007UNKNOWN\020\000"
    "\022\t\n\005ARRAY\020\001\022\013\n\007BOOLEAN\020\002\022\013\n\007INTEGER\020\003\022\010\n"
    "\004NULL\020\004\022\n\n\006NUMBER\020\005\022\n\n\006OBJECT\020\006\022\n\n\006STRIN"
    "G\020\007J\004\010\001\020\002J\004\010\002\020\003J\004\010\004\020\005J\004\010\022\020\023J\004\010\023\020\024J\004\010\027\020\030J"
    "\004\010\033\020\034J\004\010\034\020\035J\004\010\035\020\036J\004\010\036\020\"J\004\010%\020*J\004\010*\020+J\004\010+\020"
    ".\"y\n\003Tag\022\023\n\013description\030\002 \001(\t\022W\n\rexterna"
    "l_docs\030\003 \001(\0132@.grpc.gateway.protoc_gen_o"
    "penapiv2.options.ExternalDocumentationJ\004"
    "\010\001\020\002\"\341\001\n\023SecurityDefinitions\022^\n\010security"
    "\030\001 \003(\0132L.grpc.gateway.protoc_gen_openapi"
    "v2.options.SecurityDefinitions.SecurityE"
    "ntry\032j\n\rSecurityEntry\022\013\n\003key\030\001 \001(\t\022H\n\005va"
    "lue\030\002 \001(\01329.grpc.gateway.protoc_gen_open"
    "apiv2.options.SecurityScheme:\0028\001\"\240\006\n\016Sec"
    "urityScheme\022L\n\004type\030\001 \001(\0162>.grpc.gateway"
    ".protoc_gen_openapiv2.options.SecuritySc"
    "heme.Type\022\023\n\013description\030\002 \001(\t\022\014\n\004name\030\003"
    " \001(\t\022H\n\002in\030\004 \001(\0162<.grpc.gateway.protoc_g"
    "en_openapiv2.options.SecurityScheme.In\022L"
    "\n\004flow\030\005 \001(\0162>.grpc.gateway.protoc_gen_o"
    "penapiv2.options.SecurityScheme.Flow\022\031\n\021"
    "authorization_url\030\006 \001(\t\022\021\n\ttoken_url\030\007 \001"
    "(\t\022A\n\006scopes\030\010 \001(\01321.grpc.gateway.protoc"
    "_gen_openapiv2.options.Scopes\022]\n\nextensi"
    "ons\030\t \003(\0132I.grpc.gateway.protoc_gen_open"
    "apiv2.options.SecurityScheme.ExtensionsE"
    "ntry\032I\n\017ExtensionsEntry\022\013\n\003key\030\001 \001(\t\022%\n\005"
    "value\030\002 \001(\0132\026.google.protobuf.Value:\0028\001\""
    "K\n\004Type\022\020\n\014TYPE_INVALID\020\000\022\016\n\nTYPE_BASIC\020"
    "\001\022\020\n\014TYPE_API_KEY\020\002\022\017\n\013TYPE_OAUTH2\020\003\"1\n\002"
    "In\022\016\n\nIN_INVALID\020\000\022\014\n\010IN_QUERY\020\001\022\r\n\tIN_H"
    "EADER\020\002\"j\n\004Flow\022\020\n\014FLOW_INVALID\020\000\022\021\n\rFLO"
    "W_IMPLICIT\020\001\022\021\n\rFLOW_PASSWORD\020\002\022\024\n\020FLOW_"
    "APPLICATION\020\003\022\024\n\020FLOW_ACCESS_CODE\020\004\"\315\002\n\023"
    "SecurityRequirement\022u\n\024security_requirem"
    "ent\030\001 \003(\0132W.grpc.gateway.protoc_gen_open"
    "apiv2.options.SecurityRequirement.Securi"
    "tyRequirementEntry\032)\n\030SecurityRequiremen"
    "tValue\022\r\n\005scope\030\001 \003(\t\032\223\001\n\030SecurityRequir"
    "ementEntry\022\013\n\003key\030\001 \001(\t\022f\n\005value\030\002 \001(\0132W"
    ".grpc.gateway.protoc_gen_openapiv2.optio"
    "ns.SecurityRequirement.SecurityRequireme"
    "ntValue:\0028\001\"\203\001\n\006Scopes\022K\n\005scope\030\001 \003(\0132<."
    "grpc.gateway.protoc_gen_openapiv2.option"
    "s.Scopes.ScopeEntry\032,\n\nScopeEntry\022\013\n\003key"
    "\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001*;\n\006Scheme\022\013\n\007U"
    "NKNOWN\020\000\022\010\n\004HTTP\020\001\022\t\n\005HTTPS\020\002\022\006\n\002WS\020\003\022\007\n"
    "\003WSS\020\004BHZFgithub.com/grpc-ecosystem/grpc"
    "-gateway/v2/protoc-gen-openapiv2/options"
    "b\006proto3"
};
static const ::_pbi::DescriptorTable* const descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_deps[1] =
    {
        &::descriptor_table_google_2fprotobuf_2fstruct_2eproto,
};
static ::absl::once_flag descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto = {
    false,
    false,
    6088,
    descriptor_table_protodef_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto,
    "protoc-gen-openapiv2/options/openapiv2.proto",
    &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
    descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_deps,
    1,
    30,
    schemas,
    file_default_instances,
    TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto::offsets,
    file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto,
    file_level_enum_descriptors_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto,
    file_level_service_descriptors_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto,
};

// This function exists to be marked as weak.
// It can significantly speed up compilation by breaking up LLVM's SCC
// in the .pb.cc translation units. Large translation units see a
// reduction of more than 35% of walltime for optimized builds. Without
// the weak attribute all the messages in the file, including all the
// vtables and everything they use become part of the same SCC through
// a cycle like:
// GetMetadata -> descriptor table -> default instances ->
//   vtables -> GetMetadata
// By adding a weak function here we break the connection from the
// individual vtables back into the descriptor table.
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter() {
  return &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
}
namespace grpc {
namespace gateway {
namespace protoc_gen_openapiv2 {
namespace options {
const ::google::protobuf::EnumDescriptor* JSONSchema_JSONSchemaSimpleTypes_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto);
  return file_level_enum_descriptors_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[0];
}
PROTOBUF_CONSTINIT const uint32_t JSONSchema_JSONSchemaSimpleTypes_internal_data_[] = {
    524288u, 0u, };
bool JSONSchema_JSONSchemaSimpleTypes_IsValid(int value) {
  return 0 <= value && value <= 7;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema::UNKNOWN;
constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema::ARRAY;
constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema::BOOLEAN;
constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema::INTEGER;
constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema::NULL_;
constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema::NUMBER;
constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema::OBJECT;
constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema::STRING;
constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema::JSONSchemaSimpleTypes_MIN;
constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema::JSONSchemaSimpleTypes_MAX;
constexpr int JSONSchema::JSONSchemaSimpleTypes_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* SecurityScheme_Type_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto);
  return file_level_enum_descriptors_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[1];
}
PROTOBUF_CONSTINIT const uint32_t SecurityScheme_Type_internal_data_[] = {
    262144u, 0u, };
bool SecurityScheme_Type_IsValid(int value) {
  return 0 <= value && value <= 3;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr SecurityScheme_Type SecurityScheme::TYPE_INVALID;
constexpr SecurityScheme_Type SecurityScheme::TYPE_BASIC;
constexpr SecurityScheme_Type SecurityScheme::TYPE_API_KEY;
constexpr SecurityScheme_Type SecurityScheme::TYPE_OAUTH2;
constexpr SecurityScheme_Type SecurityScheme::Type_MIN;
constexpr SecurityScheme_Type SecurityScheme::Type_MAX;
constexpr int SecurityScheme::Type_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* SecurityScheme_In_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto);
  return file_level_enum_descriptors_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[2];
}
PROTOBUF_CONSTINIT const uint32_t SecurityScheme_In_internal_data_[] = {
    196608u, 0u, };
bool SecurityScheme_In_IsValid(int value) {
  return 0 <= value && value <= 2;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr SecurityScheme_In SecurityScheme::IN_INVALID;
constexpr SecurityScheme_In SecurityScheme::IN_QUERY;
constexpr SecurityScheme_In SecurityScheme::IN_HEADER;
constexpr SecurityScheme_In SecurityScheme::In_MIN;
constexpr SecurityScheme_In SecurityScheme::In_MAX;
constexpr int SecurityScheme::In_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* SecurityScheme_Flow_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto);
  return file_level_enum_descriptors_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[3];
}
PROTOBUF_CONSTINIT const uint32_t SecurityScheme_Flow_internal_data_[] = {
    327680u, 0u, };
bool SecurityScheme_Flow_IsValid(int value) {
  return 0 <= value && value <= 4;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr SecurityScheme_Flow SecurityScheme::FLOW_INVALID;
constexpr SecurityScheme_Flow SecurityScheme::FLOW_IMPLICIT;
constexpr SecurityScheme_Flow SecurityScheme::FLOW_PASSWORD;
constexpr SecurityScheme_Flow SecurityScheme::FLOW_APPLICATION;
constexpr SecurityScheme_Flow SecurityScheme::FLOW_ACCESS_CODE;
constexpr SecurityScheme_Flow SecurityScheme::Flow_MIN;
constexpr SecurityScheme_Flow SecurityScheme::Flow_MAX;
constexpr int SecurityScheme::Flow_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* Scheme_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto);
  return file_level_enum_descriptors_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[4];
}
PROTOBUF_CONSTINIT const uint32_t Scheme_internal_data_[] = {
    327680u, 0u, };
bool Scheme_IsValid(int value) {
  return 0 <= value && value <= 4;
}
// ===================================================================

Swagger_ResponsesEntry_DoNotUse::Swagger_ResponsesEntry_DoNotUse() {}
Swagger_ResponsesEntry_DoNotUse::Swagger_ResponsesEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata Swagger_ResponsesEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[0]);
}
// ===================================================================

Swagger_ExtensionsEntry_DoNotUse::Swagger_ExtensionsEntry_DoNotUse() {}
Swagger_ExtensionsEntry_DoNotUse::Swagger_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata Swagger_ExtensionsEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[1]);
}
// ===================================================================

class Swagger::_Internal {
 public:
  using HasBits = decltype(std::declval<Swagger>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Swagger, _impl_._has_bits_);
};

void Swagger::clear_extensions() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  _impl_.extensions_.Clear();
}
Swagger::Swagger(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.Swagger)
}
inline PROTOBUF_NDEBUG_INLINE Swagger::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        schemes_{visibility, arena, from.schemes_},
        _schemes_cached_byte_size_{0},
        consumes_{visibility, arena, from.consumes_},
        produces_{visibility, arena, from.produces_},
        responses_{visibility, arena, from.responses_},
        security_{visibility, arena, from.security_},
        extensions_{visibility, arena, from.extensions_},
        swagger_(arena, from.swagger_),
        host_(arena, from.host_),
        base_path_(arena, from.base_path_) {}

Swagger::Swagger(
    ::google::protobuf::Arena* arena,
    const Swagger& from)
    : ::google::protobuf::Message(arena) {
  Swagger* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.info_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Info>(
                              arena, *from._impl_.info_)
                        : nullptr;
  _impl_.security_definitions_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions>(
                              arena, *from._impl_.security_definitions_)
                        : nullptr;
  _impl_.external_docs_ = (cached_has_bits & 0x00000004u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(
                              arena, *from._impl_.external_docs_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.Swagger)
}
inline PROTOBUF_NDEBUG_INLINE Swagger::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        schemes_{visibility, arena},
        _schemes_cached_byte_size_{0},
        consumes_{visibility, arena},
        produces_{visibility, arena},
        responses_{visibility, arena},
        security_{visibility, arena},
        extensions_{visibility, arena},
        swagger_(arena),
        host_(arena),
        base_path_(arena) {}

inline void Swagger::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, info_),
           0,
           offsetof(Impl_, external_docs_) -
               offsetof(Impl_, info_) +
               sizeof(Impl_::external_docs_));
}
Swagger::~Swagger() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.Swagger)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Swagger::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.swagger_.Destroy();
  _impl_.host_.Destroy();
  _impl_.base_path_.Destroy();
  delete _impl_.info_;
  delete _impl_.security_definitions_;
  delete _impl_.external_docs_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
Swagger::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(Swagger, _impl_._cached_size_),
              false,
          },
          &Swagger::MergeImpl,
          &Swagger::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void Swagger::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.Swagger)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.schemes_.Clear();
  _impl_.consumes_.Clear();
  _impl_.produces_.Clear();
  _impl_.responses_.Clear();
  _impl_.security_.Clear();
  _impl_.extensions_.Clear();
  _impl_.swagger_.ClearToEmpty();
  _impl_.host_.ClearToEmpty();
  _impl_.base_path_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.info_ != nullptr);
      _impl_.info_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.security_definitions_ != nullptr);
      _impl_.security_definitions_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.external_docs_ != nullptr);
      _impl_.external_docs_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Swagger::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 12, 8, 121, 2> Swagger::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(Swagger, _impl_._has_bits_),
    0, // no _extensions_
    15, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294939008,  // skipmap
    offsetof(decltype(_table_), field_entries),
    12,  // num_field_entries
    8,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Swagger_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Swagger>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string swagger = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(Swagger, _impl_.swagger_)}},
    // .grpc.gateway.protoc_gen_openapiv2.options.Info info = 2;
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(Swagger, _impl_.info_)}},
    // string host = 3;
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(Swagger, _impl_.host_)}},
    // string base_path = 4;
    {::_pbi::TcParser::FastUS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(Swagger, _impl_.base_path_)}},
    // repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 5;
    {::_pbi::TcParser::FastV32P1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(Swagger, _impl_.schemes_)}},
    // repeated string consumes = 6;
    {::_pbi::TcParser::FastUR1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(Swagger, _impl_.consumes_)}},
    // repeated string produces = 7;
    {::_pbi::TcParser::FastUR1,
     {58, 63, 0, PROTOBUF_FIELD_OFFSET(Swagger, _impl_.produces_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // .grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions security_definitions = 11;
    {::_pbi::TcParser::FastMtS1,
     {90, 1, 3, PROTOBUF_FIELD_OFFSET(Swagger, _impl_.security_definitions_)}},
    // repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
    {::_pbi::TcParser::FastMtR1,
     {98, 63, 4, PROTOBUF_FIELD_OFFSET(Swagger, _impl_.security_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 14;
    {::_pbi::TcParser::FastMtS1,
     {114, 2, 5, PROTOBUF_FIELD_OFFSET(Swagger, _impl_.external_docs_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string swagger = 1;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.swagger_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .grpc.gateway.protoc_gen_openapiv2.options.Info info = 2;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.info_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string host = 3;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.host_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string base_path = 4;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.base_path_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 5;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.schemes_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
    // repeated string consumes = 6;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.consumes_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    // repeated string produces = 7;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.produces_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 10;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.responses_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
    // .grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions security_definitions = 11;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.security_definitions_), _Internal::kHasBitsOffset + 1, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.security_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 14;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.external_docs_), _Internal::kHasBitsOffset + 2, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // map<string, .google.protobuf.Value> extensions = 15;
    {PROTOBUF_FIELD_OFFSET(Swagger, _impl_.extensions_), -1, 6,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
  }}, {{
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Info>()},
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(Swagger()._impl_.responses_)>(
        1, 0, 0, 9,
        11)},
    {::_pbi::TcParser::CreateInArenaStorageCb<::grpc::gateway::protoc_gen_openapiv2::options::Response>},
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions>()},
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>()},
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>()},
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(Swagger()._impl_.extensions_)>(
        1, 0, 0, 9,
        11)},
    {::_pbi::TcParser::CreateInArenaStorageCb<::google::protobuf::Value>},
  }}, {{
    "\61\7\0\4\11\0\10\10\11\0\0\0\12\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.Swagger"
    "swagger"
    "host"
    "base_path"
    "consumes"
    "produces"
    "responses"
    "extensions"
  }},
};

::uint8_t* Swagger::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.Swagger)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string swagger = 1;
  if (!this->_internal_swagger().empty()) {
    const std::string& _s = this->_internal_swagger();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Swagger.swagger");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .grpc.gateway.protoc_gen_openapiv2.options.Info info = 2;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *_impl_.info_, _impl_.info_->GetCachedSize(), target, stream);
  }

  // string host = 3;
  if (!this->_internal_host().empty()) {
    const std::string& _s = this->_internal_host();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Swagger.host");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string base_path = 4;
  if (!this->_internal_base_path().empty()) {
    const std::string& _s = this->_internal_base_path();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Swagger.base_path");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 5;
  {
    std::size_t byte_size = _impl_._schemes_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(5, _internal_schemes(),
                                       byte_size, target);
    }
  }

  // repeated string consumes = 6;
  for (int i = 0, n = this->_internal_consumes_size(); i < n; ++i) {
    const auto& s = this->_internal_consumes().Get(i);
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Swagger.consumes");
    target = stream->WriteString(6, s, target);
  }

  // repeated string produces = 7;
  for (int i = 0, n = this->_internal_produces_size(); i < n; ++i) {
    const auto& s = this->_internal_produces().Get(i);
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Swagger.produces");
    target = stream->WriteString(7, s, target);
  }

  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 10;
  if (!_internal_responses().empty()) {
    using MapType = ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>;
    const auto& field = _internal_responses();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            10, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Swagger.responses");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            10, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Swagger.responses");
      }
    }
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions security_definitions = 11;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, *_impl_.security_definitions_, _impl_.security_definitions_->GetCachedSize(), target, stream);
  }

  // repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this->_internal_security_size());
       i < n; i++) {
    const auto& repfield = this->_internal_security().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            12, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 14;
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        14, *_impl_.external_docs_, _impl_.external_docs_->GetCachedSize(), target, stream);
  }

  // map<string, .google.protobuf.Value> extensions = 15;
  if (!_internal_extensions().empty()) {
    using MapType = ::google::protobuf::Map<std::string, ::google::protobuf::Value>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>;
    const auto& field = _internal_extensions();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            15, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Swagger.extensions");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            15, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Swagger.extensions");
      }
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.Swagger)
  return target;
}

::size_t Swagger::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.Swagger)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 5;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_schemes_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_schemes().Get(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._schemes_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }
  // repeated string consumes = 6;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_consumes().size());
  for (int i = 0, n = _internal_consumes().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        _internal_consumes().Get(i));
  }
  // repeated string produces = 7;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_produces().size());
  for (int i = 0, n = _internal_produces().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        _internal_produces().Get(i));
  }
  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 10;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_responses_size());
  for (const auto& entry : _internal_responses()) {
    total_size += _pbi::MapEntryFuncs<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second);
  }
  // repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
  total_size += 1UL * this->_internal_security_size();
  for (const auto& msg : this->_internal_security()) {
    total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // map<string, .google.protobuf.Value> extensions = 15;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_extensions_size());
  for (const auto& entry : _internal_extensions()) {
    total_size += _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second);
  }
  // string swagger = 1;
  if (!this->_internal_swagger().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_swagger());
  }

  // string host = 3;
  if (!this->_internal_host().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_host());
  }

  // string base_path = 4;
  if (!this->_internal_base_path().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_base_path());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .grpc.gateway.protoc_gen_openapiv2.options.Info info = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.info_);
    }

    // .grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions security_definitions = 11;
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.security_definitions_);
    }

    // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 14;
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.external_docs_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void Swagger::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<Swagger*>(&to_msg);
  auto& from = static_cast<const Swagger&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.Swagger)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_schemes()->MergeFrom(from._internal_schemes());
  _this->_internal_mutable_consumes()->MergeFrom(from._internal_consumes());
  _this->_internal_mutable_produces()->MergeFrom(from._internal_produces());
  _this->_impl_.responses_.MergeFrom(from._impl_.responses_);
  _this->_internal_mutable_security()->MergeFrom(
      from._internal_security());
  _this->_impl_.extensions_.MergeFrom(from._impl_.extensions_);
  if (!from._internal_swagger().empty()) {
    _this->_internal_set_swagger(from._internal_swagger());
  }
  if (!from._internal_host().empty()) {
    _this->_internal_set_host(from._internal_host());
  }
  if (!from._internal_base_path().empty()) {
    _this->_internal_set_base_path(from._internal_base_path());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.info_ != nullptr);
      if (_this->_impl_.info_ == nullptr) {
        _this->_impl_.info_ =
            ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Info>(arena, *from._impl_.info_);
      } else {
        _this->_impl_.info_->MergeFrom(*from._impl_.info_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.security_definitions_ != nullptr);
      if (_this->_impl_.security_definitions_ == nullptr) {
        _this->_impl_.security_definitions_ =
            ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions>(arena, *from._impl_.security_definitions_);
      } else {
        _this->_impl_.security_definitions_->MergeFrom(*from._impl_.security_definitions_);
      }
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(from._impl_.external_docs_ != nullptr);
      if (_this->_impl_.external_docs_ == nullptr) {
        _this->_impl_.external_docs_ =
            ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(arena, *from._impl_.external_docs_);
      } else {
        _this->_impl_.external_docs_->MergeFrom(*from._impl_.external_docs_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void Swagger::CopyFrom(const Swagger& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.Swagger)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool Swagger::IsInitialized() const {
  return true;
}

void Swagger::InternalSwap(Swagger* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.schemes_.InternalSwap(&other->_impl_.schemes_);
  _impl_.consumes_.InternalSwap(&other->_impl_.consumes_);
  _impl_.produces_.InternalSwap(&other->_impl_.produces_);
  _impl_.responses_.InternalSwap(&other->_impl_.responses_);
  _impl_.security_.InternalSwap(&other->_impl_.security_);
  _impl_.extensions_.InternalSwap(&other->_impl_.extensions_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.swagger_, &other->_impl_.swagger_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.host_, &other->_impl_.host_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.base_path_, &other->_impl_.base_path_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Swagger, _impl_.external_docs_)
      + sizeof(Swagger::_impl_.external_docs_)
      - PROTOBUF_FIELD_OFFSET(Swagger, _impl_.info_)>(
          reinterpret_cast<char*>(&_impl_.info_),
          reinterpret_cast<char*>(&other->_impl_.info_));
}

::google::protobuf::Metadata Swagger::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[2]);
}
// ===================================================================

Operation_ResponsesEntry_DoNotUse::Operation_ResponsesEntry_DoNotUse() {}
Operation_ResponsesEntry_DoNotUse::Operation_ResponsesEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata Operation_ResponsesEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[3]);
}
// ===================================================================

Operation_ExtensionsEntry_DoNotUse::Operation_ExtensionsEntry_DoNotUse() {}
Operation_ExtensionsEntry_DoNotUse::Operation_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata Operation_ExtensionsEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[4]);
}
// ===================================================================

class Operation::_Internal {
 public:
  using HasBits = decltype(std::declval<Operation>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Operation, _impl_._has_bits_);
};

void Operation::clear_extensions() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  _impl_.extensions_.Clear();
}
Operation::Operation(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.Operation)
}
inline PROTOBUF_NDEBUG_INLINE Operation::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        tags_{visibility, arena, from.tags_},
        consumes_{visibility, arena, from.consumes_},
        produces_{visibility, arena, from.produces_},
        responses_{visibility, arena, from.responses_},
        schemes_{visibility, arena, from.schemes_},
        _schemes_cached_byte_size_{0},
        security_{visibility, arena, from.security_},
        extensions_{visibility, arena, from.extensions_},
        summary_(arena, from.summary_),
        description_(arena, from.description_),
        operation_id_(arena, from.operation_id_) {}

Operation::Operation(
    ::google::protobuf::Arena* arena,
    const Operation& from)
    : ::google::protobuf::Message(arena) {
  Operation* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.external_docs_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(
                              arena, *from._impl_.external_docs_)
                        : nullptr;
  _impl_.deprecated_ = from._impl_.deprecated_;

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.Operation)
}
inline PROTOBUF_NDEBUG_INLINE Operation::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        tags_{visibility, arena},
        consumes_{visibility, arena},
        produces_{visibility, arena},
        responses_{visibility, arena},
        schemes_{visibility, arena},
        _schemes_cached_byte_size_{0},
        security_{visibility, arena},
        extensions_{visibility, arena},
        summary_(arena),
        description_(arena),
        operation_id_(arena) {}

inline void Operation::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, external_docs_),
           0,
           offsetof(Impl_, deprecated_) -
               offsetof(Impl_, external_docs_) +
               sizeof(Impl_::deprecated_));
}
Operation::~Operation() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.Operation)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Operation::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.summary_.Destroy();
  _impl_.description_.Destroy();
  _impl_.operation_id_.Destroy();
  delete _impl_.external_docs_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
Operation::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(Operation, _impl_._cached_size_),
              false,
          },
          &Operation::MergeImpl,
          &Operation::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void Operation::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.Operation)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.tags_.Clear();
  _impl_.consumes_.Clear();
  _impl_.produces_.Clear();
  _impl_.responses_.Clear();
  _impl_.schemes_.Clear();
  _impl_.security_.Clear();
  _impl_.extensions_.Clear();
  _impl_.summary_.ClearToEmpty();
  _impl_.description_.ClearToEmpty();
  _impl_.operation_id_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.external_docs_ != nullptr);
    _impl_.external_docs_->Clear();
  }
  _impl_.deprecated_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Operation::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 12, 6, 137, 2> Operation::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(Operation, _impl_._has_bits_),
    0, // no _extensions_
    13, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294959232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    12,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Operation_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Operation>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated string tags = 1;
    {::_pbi::TcParser::FastUR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(Operation, _impl_.tags_)}},
    // string summary = 2;
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(Operation, _impl_.summary_)}},
    // string description = 3;
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(Operation, _impl_.description_)}},
    // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 4;
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 0, PROTOBUF_FIELD_OFFSET(Operation, _impl_.external_docs_)}},
    // string operation_id = 5;
    {::_pbi::TcParser::FastUS1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(Operation, _impl_.operation_id_)}},
    // repeated string consumes = 6;
    {::_pbi::TcParser::FastUR1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(Operation, _impl_.consumes_)}},
    // repeated string produces = 7;
    {::_pbi::TcParser::FastUR1,
     {58, 63, 0, PROTOBUF_FIELD_OFFSET(Operation, _impl_.produces_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 10;
    {::_pbi::TcParser::FastV32P1,
     {82, 63, 0, PROTOBUF_FIELD_OFFSET(Operation, _impl_.schemes_)}},
    // bool deprecated = 11;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Operation, _impl_.deprecated_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(Operation, _impl_.deprecated_)}},
    // repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
    {::_pbi::TcParser::FastMtR1,
     {98, 63, 3, PROTOBUF_FIELD_OFFSET(Operation, _impl_.security_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated string tags = 1;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.tags_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    // string summary = 2;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.summary_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string description = 3;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.description_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 4;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.external_docs_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string operation_id = 5;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.operation_id_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated string consumes = 6;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.consumes_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    // repeated string produces = 7;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.produces_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 9;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.responses_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
    // repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 10;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.schemes_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
    // bool deprecated = 11;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.deprecated_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.security_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // map<string, .google.protobuf.Value> extensions = 13;
    {PROTOBUF_FIELD_OFFSET(Operation, _impl_.extensions_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
  }}, {{
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>()},
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(Operation()._impl_.responses_)>(
        1, 0, 0, 9,
        11)},
    {::_pbi::TcParser::CreateInArenaStorageCb<::grpc::gateway::protoc_gen_openapiv2::options::Response>},
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>()},
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(Operation()._impl_.extensions_)>(
        1, 0, 0, 9,
        11)},
    {::_pbi::TcParser::CreateInArenaStorageCb<::google::protobuf::Value>},
  }}, {{
    "\63\4\7\13\0\14\10\10\11\0\0\0\12\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.Operation"
    "tags"
    "summary"
    "description"
    "operation_id"
    "consumes"
    "produces"
    "responses"
    "extensions"
  }},
};

::uint8_t* Operation::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.Operation)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated string tags = 1;
  for (int i = 0, n = this->_internal_tags_size(); i < n; ++i) {
    const auto& s = this->_internal_tags().Get(i);
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Operation.tags");
    target = stream->WriteString(1, s, target);
  }

  // string summary = 2;
  if (!this->_internal_summary().empty()) {
    const std::string& _s = this->_internal_summary();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Operation.summary");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string description = 3;
  if (!this->_internal_description().empty()) {
    const std::string& _s = this->_internal_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Operation.description");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 4;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *_impl_.external_docs_, _impl_.external_docs_->GetCachedSize(), target, stream);
  }

  // string operation_id = 5;
  if (!this->_internal_operation_id().empty()) {
    const std::string& _s = this->_internal_operation_id();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Operation.operation_id");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // repeated string consumes = 6;
  for (int i = 0, n = this->_internal_consumes_size(); i < n; ++i) {
    const auto& s = this->_internal_consumes().Get(i);
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Operation.consumes");
    target = stream->WriteString(6, s, target);
  }

  // repeated string produces = 7;
  for (int i = 0, n = this->_internal_produces_size(); i < n; ++i) {
    const auto& s = this->_internal_produces().Get(i);
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Operation.produces");
    target = stream->WriteString(7, s, target);
  }

  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 9;
  if (!_internal_responses().empty()) {
    using MapType = ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>;
    const auto& field = _internal_responses();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            9, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Operation.responses");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            9, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Operation.responses");
      }
    }
  }

  // repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 10;
  {
    std::size_t byte_size = _impl_._schemes_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(10, _internal_schemes(),
                                       byte_size, target);
    }
  }

  // bool deprecated = 11;
  if (this->_internal_deprecated() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        11, this->_internal_deprecated(), target);
  }

  // repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this->_internal_security_size());
       i < n; i++) {
    const auto& repfield = this->_internal_security().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            12, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  // map<string, .google.protobuf.Value> extensions = 13;
  if (!_internal_extensions().empty()) {
    using MapType = ::google::protobuf::Map<std::string, ::google::protobuf::Value>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>;
    const auto& field = _internal_extensions();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            13, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Operation.extensions");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            13, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Operation.extensions");
      }
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.Operation)
  return target;
}

::size_t Operation::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.Operation)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string tags = 1;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_tags().size());
  for (int i = 0, n = _internal_tags().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        _internal_tags().Get(i));
  }
  // repeated string consumes = 6;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_consumes().size());
  for (int i = 0, n = _internal_consumes().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        _internal_consumes().Get(i));
  }
  // repeated string produces = 7;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_produces().size());
  for (int i = 0, n = _internal_produces().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        _internal_produces().Get(i));
  }
  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 9;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_responses_size());
  for (const auto& entry : _internal_responses()) {
    total_size += _pbi::MapEntryFuncs<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second);
  }
  // repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 10;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_schemes_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_schemes().Get(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._schemes_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }
  // repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
  total_size += 1UL * this->_internal_security_size();
  for (const auto& msg : this->_internal_security()) {
    total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // map<string, .google.protobuf.Value> extensions = 13;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_extensions_size());
  for (const auto& entry : _internal_extensions()) {
    total_size += _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second);
  }
  // string summary = 2;
  if (!this->_internal_summary().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_summary());
  }

  // string description = 3;
  if (!this->_internal_description().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_description());
  }

  // string operation_id = 5;
  if (!this->_internal_operation_id().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_operation_id());
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 4;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.external_docs_);
  }

  // bool deprecated = 11;
  if (this->_internal_deprecated() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void Operation::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<Operation*>(&to_msg);
  auto& from = static_cast<const Operation&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.Operation)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_tags()->MergeFrom(from._internal_tags());
  _this->_internal_mutable_consumes()->MergeFrom(from._internal_consumes());
  _this->_internal_mutable_produces()->MergeFrom(from._internal_produces());
  _this->_impl_.responses_.MergeFrom(from._impl_.responses_);
  _this->_internal_mutable_schemes()->MergeFrom(from._internal_schemes());
  _this->_internal_mutable_security()->MergeFrom(
      from._internal_security());
  _this->_impl_.extensions_.MergeFrom(from._impl_.extensions_);
  if (!from._internal_summary().empty()) {
    _this->_internal_set_summary(from._internal_summary());
  }
  if (!from._internal_description().empty()) {
    _this->_internal_set_description(from._internal_description());
  }
  if (!from._internal_operation_id().empty()) {
    _this->_internal_set_operation_id(from._internal_operation_id());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.external_docs_ != nullptr);
    if (_this->_impl_.external_docs_ == nullptr) {
      _this->_impl_.external_docs_ =
          ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(arena, *from._impl_.external_docs_);
    } else {
      _this->_impl_.external_docs_->MergeFrom(*from._impl_.external_docs_);
    }
  }
  if (from._internal_deprecated() != 0) {
    _this->_impl_.deprecated_ = from._impl_.deprecated_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void Operation::CopyFrom(const Operation& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.Operation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool Operation::IsInitialized() const {
  return true;
}

void Operation::InternalSwap(Operation* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.tags_.InternalSwap(&other->_impl_.tags_);
  _impl_.consumes_.InternalSwap(&other->_impl_.consumes_);
  _impl_.produces_.InternalSwap(&other->_impl_.produces_);
  _impl_.responses_.InternalSwap(&other->_impl_.responses_);
  _impl_.schemes_.InternalSwap(&other->_impl_.schemes_);
  _impl_.security_.InternalSwap(&other->_impl_.security_);
  _impl_.extensions_.InternalSwap(&other->_impl_.extensions_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.summary_, &other->_impl_.summary_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.operation_id_, &other->_impl_.operation_id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Operation, _impl_.deprecated_)
      + sizeof(Operation::_impl_.deprecated_)
      - PROTOBUF_FIELD_OFFSET(Operation, _impl_.external_docs_)>(
          reinterpret_cast<char*>(&_impl_.external_docs_),
          reinterpret_cast<char*>(&other->_impl_.external_docs_));
}

::google::protobuf::Metadata Operation::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[5]);
}
// ===================================================================

class Header::_Internal {
 public:
};

Header::Header(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.Header)
}
inline PROTOBUF_NDEBUG_INLINE Header::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : description_(arena, from.description_),
        type_(arena, from.type_),
        format_(arena, from.format_),
        default__(arena, from.default__),
        pattern_(arena, from.pattern_),
        _cached_size_{0} {}

Header::Header(
    ::google::protobuf::Arena* arena,
    const Header& from)
    : ::google::protobuf::Message(arena) {
  Header* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.Header)
}
inline PROTOBUF_NDEBUG_INLINE Header::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : description_(arena),
        type_(arena),
        format_(arena),
        default__(arena),
        pattern_(arena),
        _cached_size_{0} {}

inline void Header::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
Header::~Header() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.Header)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Header::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.description_.Destroy();
  _impl_.type_.Destroy();
  _impl_.format_.Destroy();
  _impl_.default__.Destroy();
  _impl_.pattern_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
Header::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(Header, _impl_._cached_size_),
              false,
          },
          &Header::MergeImpl,
          &Header::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void Header::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.Header)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.description_.ClearToEmpty();
  _impl_.type_.ClearToEmpty();
  _impl_.format_.ClearToEmpty();
  _impl_.default__.ClearToEmpty();
  _impl_.pattern_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Header::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 0, 92, 2> Header::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    13, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294963160,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_Header_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Header>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string description = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(Header, _impl_.description_)}},
    // string type = 2;
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(Header, _impl_.type_)}},
    // string format = 3;
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(Header, _impl_.format_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // string pattern = 13;
    {::_pbi::TcParser::FastUS1,
     {106, 63, 0, PROTOBUF_FIELD_OFFSET(Header, _impl_.pattern_)}},
    // string default = 6;
    {::_pbi::TcParser::FastUS1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(Header, _impl_.default__)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string description = 1;
    {PROTOBUF_FIELD_OFFSET(Header, _impl_.description_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string type = 2;
    {PROTOBUF_FIELD_OFFSET(Header, _impl_.type_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string format = 3;
    {PROTOBUF_FIELD_OFFSET(Header, _impl_.format_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string default = 6;
    {PROTOBUF_FIELD_OFFSET(Header, _impl_.default__), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string pattern = 13;
    {PROTOBUF_FIELD_OFFSET(Header, _impl_.pattern_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\60\13\4\6\7\7\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.Header"
    "description"
    "type"
    "format"
    "default"
    "pattern"
  }},
};

::uint8_t* Header::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.Header)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string description = 1;
  if (!this->_internal_description().empty()) {
    const std::string& _s = this->_internal_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Header.description");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string type = 2;
  if (!this->_internal_type().empty()) {
    const std::string& _s = this->_internal_type();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Header.type");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string format = 3;
  if (!this->_internal_format().empty()) {
    const std::string& _s = this->_internal_format();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Header.format");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string default = 6;
  if (!this->_internal_default_().empty()) {
    const std::string& _s = this->_internal_default_();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Header.default");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // string pattern = 13;
  if (!this->_internal_pattern().empty()) {
    const std::string& _s = this->_internal_pattern();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Header.pattern");
    target = stream->WriteStringMaybeAliased(13, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.Header)
  return target;
}

::size_t Header::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.Header)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string description = 1;
  if (!this->_internal_description().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_description());
  }

  // string type = 2;
  if (!this->_internal_type().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_type());
  }

  // string format = 3;
  if (!this->_internal_format().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_format());
  }

  // string default = 6;
  if (!this->_internal_default_().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_default_());
  }

  // string pattern = 13;
  if (!this->_internal_pattern().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_pattern());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void Header::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<Header*>(&to_msg);
  auto& from = static_cast<const Header&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.Header)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_description().empty()) {
    _this->_internal_set_description(from._internal_description());
  }
  if (!from._internal_type().empty()) {
    _this->_internal_set_type(from._internal_type());
  }
  if (!from._internal_format().empty()) {
    _this->_internal_set_format(from._internal_format());
  }
  if (!from._internal_default_().empty()) {
    _this->_internal_set_default_(from._internal_default_());
  }
  if (!from._internal_pattern().empty()) {
    _this->_internal_set_pattern(from._internal_pattern());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void Header::CopyFrom(const Header& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.Header)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool Header::IsInitialized() const {
  return true;
}

void Header::InternalSwap(Header* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.type_, &other->_impl_.type_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.format_, &other->_impl_.format_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.default__, &other->_impl_.default__, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.pattern_, &other->_impl_.pattern_, arena);
}

::google::protobuf::Metadata Header::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[6]);
}
// ===================================================================

Response_HeadersEntry_DoNotUse::Response_HeadersEntry_DoNotUse() {}
Response_HeadersEntry_DoNotUse::Response_HeadersEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata Response_HeadersEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[7]);
}
// ===================================================================

Response_ExamplesEntry_DoNotUse::Response_ExamplesEntry_DoNotUse() {}
Response_ExamplesEntry_DoNotUse::Response_ExamplesEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata Response_ExamplesEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[8]);
}
// ===================================================================

Response_ExtensionsEntry_DoNotUse::Response_ExtensionsEntry_DoNotUse() {}
Response_ExtensionsEntry_DoNotUse::Response_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata Response_ExtensionsEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[9]);
}
// ===================================================================

class Response::_Internal {
 public:
  using HasBits = decltype(std::declval<Response>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Response, _impl_._has_bits_);
};

void Response::clear_extensions() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  _impl_.extensions_.Clear();
}
Response::Response(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.Response)
}
inline PROTOBUF_NDEBUG_INLINE Response::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        headers_{visibility, arena, from.headers_},
        examples_{visibility, arena, from.examples_},
        extensions_{visibility, arena, from.extensions_},
        description_(arena, from.description_) {}

Response::Response(
    ::google::protobuf::Arena* arena,
    const Response& from)
    : ::google::protobuf::Message(arena) {
  Response* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.schema_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Schema>(
                              arena, *from._impl_.schema_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.Response)
}
inline PROTOBUF_NDEBUG_INLINE Response::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        headers_{visibility, arena},
        examples_{visibility, arena},
        extensions_{visibility, arena},
        description_(arena) {}

inline void Response::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.schema_ = {};
}
Response::~Response() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.Response)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Response::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.description_.Destroy();
  delete _impl_.schema_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
Response::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(Response, _impl_._cached_size_),
              false,
          },
          &Response::MergeImpl,
          &Response::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void Response::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.Response)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.headers_.Clear();
  _impl_.examples_.Clear();
  _impl_.extensions_.Clear();
  _impl_.description_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.schema_ != nullptr);
    _impl_.schema_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Response::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 5, 6, 95, 2> Response::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(Response, _impl_._has_bits_),
    0, // no _extensions_
    5, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Response_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Response>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .grpc.gateway.protoc_gen_openapiv2.options.Schema schema = 2;
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(Response, _impl_.schema_)}},
    // string description = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(Response, _impl_.description_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string description = 1;
    {PROTOBUF_FIELD_OFFSET(Response, _impl_.description_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .grpc.gateway.protoc_gen_openapiv2.options.Schema schema = 2;
    {PROTOBUF_FIELD_OFFSET(Response, _impl_.schema_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Header> headers = 3;
    {PROTOBUF_FIELD_OFFSET(Response, _impl_.headers_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
    // map<string, string> examples = 4;
    {PROTOBUF_FIELD_OFFSET(Response, _impl_.examples_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
    // map<string, .google.protobuf.Value> extensions = 5;
    {PROTOBUF_FIELD_OFFSET(Response, _impl_.extensions_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
  }}, {{
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Schema>()},
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(Response()._impl_.headers_)>(
        1, 0, 0, 9,
        11)},
    {::_pbi::TcParser::CreateInArenaStorageCb<::grpc::gateway::protoc_gen_openapiv2::options::Header>},
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(Response()._impl_.examples_)>(
        1, 0, 0, 9,
        9)},
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(Response()._impl_.extensions_)>(
        1, 0, 0, 9,
        11)},
    {::_pbi::TcParser::CreateInArenaStorageCb<::google::protobuf::Value>},
  }}, {{
    "\62\13\0\7\10\12\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.Response"
    "description"
    "headers"
    "examples"
    "extensions"
  }},
};

::uint8_t* Response::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.Response)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string description = 1;
  if (!this->_internal_description().empty()) {
    const std::string& _s = this->_internal_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Response.description");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .grpc.gateway.protoc_gen_openapiv2.options.Schema schema = 2;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *_impl_.schema_, _impl_.schema_->GetCachedSize(), target, stream);
  }

  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Header> headers = 3;
  if (!_internal_headers().empty()) {
    using MapType = ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>;
    const auto& field = _internal_headers();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            3, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Response.headers");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            3, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Response.headers");
      }
    }
  }

  // map<string, string> examples = 4;
  if (!_internal_examples().empty()) {
    using MapType = ::google::protobuf::Map<std::string, std::string>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, std::string,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_STRING>;
    const auto& field = _internal_examples();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            4, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Response.examples");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.second.data(), static_cast<int>(entry.second.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Response.examples");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            4, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Response.examples");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.second.data(), static_cast<int>(entry.second.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Response.examples");
      }
    }
  }

  // map<string, .google.protobuf.Value> extensions = 5;
  if (!_internal_extensions().empty()) {
    using MapType = ::google::protobuf::Map<std::string, ::google::protobuf::Value>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>;
    const auto& field = _internal_extensions();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            5, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Response.extensions");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            5, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Response.extensions");
      }
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.Response)
  return target;
}

::size_t Response::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.Response)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Header> headers = 3;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_headers_size());
  for (const auto& entry : _internal_headers()) {
    total_size += _pbi::MapEntryFuncs<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second);
  }
  // map<string, string> examples = 4;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_examples_size());
  for (const auto& entry : _internal_examples()) {
    total_size += _pbi::MapEntryFuncs<std::string, std::string,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_STRING>::ByteSizeLong(entry.first, entry.second);
  }
  // map<string, .google.protobuf.Value> extensions = 5;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_extensions_size());
  for (const auto& entry : _internal_extensions()) {
    total_size += _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second);
  }
  // string description = 1;
  if (!this->_internal_description().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_description());
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.Schema schema = 2;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.schema_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void Response::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<Response*>(&to_msg);
  auto& from = static_cast<const Response&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.Response)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.headers_.MergeFrom(from._impl_.headers_);
  _this->_impl_.examples_.MergeFrom(from._impl_.examples_);
  _this->_impl_.extensions_.MergeFrom(from._impl_.extensions_);
  if (!from._internal_description().empty()) {
    _this->_internal_set_description(from._internal_description());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.schema_ != nullptr);
    if (_this->_impl_.schema_ == nullptr) {
      _this->_impl_.schema_ =
          ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Schema>(arena, *from._impl_.schema_);
    } else {
      _this->_impl_.schema_->MergeFrom(*from._impl_.schema_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void Response::CopyFrom(const Response& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.Response)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool Response::IsInitialized() const {
  return true;
}

void Response::InternalSwap(Response* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.headers_.InternalSwap(&other->_impl_.headers_);
  _impl_.examples_.InternalSwap(&other->_impl_.examples_);
  _impl_.extensions_.InternalSwap(&other->_impl_.extensions_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  swap(_impl_.schema_, other->_impl_.schema_);
}

::google::protobuf::Metadata Response::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[10]);
}
// ===================================================================

Info_ExtensionsEntry_DoNotUse::Info_ExtensionsEntry_DoNotUse() {}
Info_ExtensionsEntry_DoNotUse::Info_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata Info_ExtensionsEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[11]);
}
// ===================================================================

class Info::_Internal {
 public:
  using HasBits = decltype(std::declval<Info>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Info, _impl_._has_bits_);
};

void Info::clear_extensions() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  _impl_.extensions_.Clear();
}
Info::Info(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.Info)
}
inline PROTOBUF_NDEBUG_INLINE Info::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        extensions_{visibility, arena, from.extensions_},
        title_(arena, from.title_),
        description_(arena, from.description_),
        terms_of_service_(arena, from.terms_of_service_),
        version_(arena, from.version_) {}

Info::Info(
    ::google::protobuf::Arena* arena,
    const Info& from)
    : ::google::protobuf::Message(arena) {
  Info* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.contact_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Contact>(
                              arena, *from._impl_.contact_)
                        : nullptr;
  _impl_.license_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::License>(
                              arena, *from._impl_.license_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.Info)
}
inline PROTOBUF_NDEBUG_INLINE Info::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        extensions_{visibility, arena},
        title_(arena),
        description_(arena),
        terms_of_service_(arena),
        version_(arena) {}

inline void Info::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, contact_),
           0,
           offsetof(Impl_, license_) -
               offsetof(Impl_, contact_) +
               sizeof(Impl_::license_));
}
Info::~Info() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.Info)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Info::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.title_.Destroy();
  _impl_.description_.Destroy();
  _impl_.terms_of_service_.Destroy();
  _impl_.version_.Destroy();
  delete _impl_.contact_;
  delete _impl_.license_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
Info::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(Info, _impl_._cached_size_),
              false,
          },
          &Info::MergeImpl,
          &Info::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void Info::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.Info)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.extensions_.Clear();
  _impl_.title_.ClearToEmpty();
  _impl_.description_.ClearToEmpty();
  _impl_.terms_of_service_.ClearToEmpty();
  _impl_.version_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.contact_ != nullptr);
      _impl_.contact_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.license_ != nullptr);
      _impl_.license_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Info::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 4, 104, 2> Info::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(Info, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Info_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Info>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string title = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(Info, _impl_.title_)}},
    // string description = 2;
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(Info, _impl_.description_)}},
    // string terms_of_service = 3;
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(Info, _impl_.terms_of_service_)}},
    // .grpc.gateway.protoc_gen_openapiv2.options.Contact contact = 4;
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 0, PROTOBUF_FIELD_OFFSET(Info, _impl_.contact_)}},
    // .grpc.gateway.protoc_gen_openapiv2.options.License license = 5;
    {::_pbi::TcParser::FastMtS1,
     {42, 1, 1, PROTOBUF_FIELD_OFFSET(Info, _impl_.license_)}},
    // string version = 6;
    {::_pbi::TcParser::FastUS1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(Info, _impl_.version_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string title = 1;
    {PROTOBUF_FIELD_OFFSET(Info, _impl_.title_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string description = 2;
    {PROTOBUF_FIELD_OFFSET(Info, _impl_.description_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string terms_of_service = 3;
    {PROTOBUF_FIELD_OFFSET(Info, _impl_.terms_of_service_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .grpc.gateway.protoc_gen_openapiv2.options.Contact contact = 4;
    {PROTOBUF_FIELD_OFFSET(Info, _impl_.contact_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .grpc.gateway.protoc_gen_openapiv2.options.License license = 5;
    {PROTOBUF_FIELD_OFFSET(Info, _impl_.license_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string version = 6;
    {PROTOBUF_FIELD_OFFSET(Info, _impl_.version_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // map<string, .google.protobuf.Value> extensions = 7;
    {PROTOBUF_FIELD_OFFSET(Info, _impl_.extensions_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
  }}, {{
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Contact>()},
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::License>()},
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(Info()._impl_.extensions_)>(
        1, 0, 0, 9,
        11)},
    {::_pbi::TcParser::CreateInArenaStorageCb<::google::protobuf::Value>},
  }}, {{
    "\56\5\13\20\0\0\7\12"
    "grpc.gateway.protoc_gen_openapiv2.options.Info"
    "title"
    "description"
    "terms_of_service"
    "version"
    "extensions"
  }},
};

::uint8_t* Info::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.Info)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string title = 1;
  if (!this->_internal_title().empty()) {
    const std::string& _s = this->_internal_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Info.title");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string description = 2;
  if (!this->_internal_description().empty()) {
    const std::string& _s = this->_internal_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Info.description");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string terms_of_service = 3;
  if (!this->_internal_terms_of_service().empty()) {
    const std::string& _s = this->_internal_terms_of_service();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Info.terms_of_service");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .grpc.gateway.protoc_gen_openapiv2.options.Contact contact = 4;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *_impl_.contact_, _impl_.contact_->GetCachedSize(), target, stream);
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.License license = 5;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *_impl_.license_, _impl_.license_->GetCachedSize(), target, stream);
  }

  // string version = 6;
  if (!this->_internal_version().empty()) {
    const std::string& _s = this->_internal_version();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Info.version");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // map<string, .google.protobuf.Value> extensions = 7;
  if (!_internal_extensions().empty()) {
    using MapType = ::google::protobuf::Map<std::string, ::google::protobuf::Value>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>;
    const auto& field = _internal_extensions();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            7, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Info.extensions");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            7, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Info.extensions");
      }
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.Info)
  return target;
}

::size_t Info::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.Info)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // map<string, .google.protobuf.Value> extensions = 7;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_extensions_size());
  for (const auto& entry : _internal_extensions()) {
    total_size += _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second);
  }
  // string title = 1;
  if (!this->_internal_title().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_title());
  }

  // string description = 2;
  if (!this->_internal_description().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_description());
  }

  // string terms_of_service = 3;
  if (!this->_internal_terms_of_service().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_terms_of_service());
  }

  // string version = 6;
  if (!this->_internal_version().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_version());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .grpc.gateway.protoc_gen_openapiv2.options.Contact contact = 4;
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.contact_);
    }

    // .grpc.gateway.protoc_gen_openapiv2.options.License license = 5;
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.license_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void Info::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<Info*>(&to_msg);
  auto& from = static_cast<const Info&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.Info)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.extensions_.MergeFrom(from._impl_.extensions_);
  if (!from._internal_title().empty()) {
    _this->_internal_set_title(from._internal_title());
  }
  if (!from._internal_description().empty()) {
    _this->_internal_set_description(from._internal_description());
  }
  if (!from._internal_terms_of_service().empty()) {
    _this->_internal_set_terms_of_service(from._internal_terms_of_service());
  }
  if (!from._internal_version().empty()) {
    _this->_internal_set_version(from._internal_version());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.contact_ != nullptr);
      if (_this->_impl_.contact_ == nullptr) {
        _this->_impl_.contact_ =
            ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Contact>(arena, *from._impl_.contact_);
      } else {
        _this->_impl_.contact_->MergeFrom(*from._impl_.contact_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.license_ != nullptr);
      if (_this->_impl_.license_ == nullptr) {
        _this->_impl_.license_ =
            ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::License>(arena, *from._impl_.license_);
      } else {
        _this->_impl_.license_->MergeFrom(*from._impl_.license_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void Info::CopyFrom(const Info& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.Info)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool Info::IsInitialized() const {
  return true;
}

void Info::InternalSwap(Info* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.extensions_.InternalSwap(&other->_impl_.extensions_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, &other->_impl_.title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.terms_of_service_, &other->_impl_.terms_of_service_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.version_, &other->_impl_.version_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Info, _impl_.license_)
      + sizeof(Info::_impl_.license_)
      - PROTOBUF_FIELD_OFFSET(Info, _impl_.contact_)>(
          reinterpret_cast<char*>(&_impl_.contact_),
          reinterpret_cast<char*>(&other->_impl_.contact_));
}

::google::protobuf::Metadata Info::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[12]);
}
// ===================================================================

class Contact::_Internal {
 public:
};

Contact::Contact(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.Contact)
}
inline PROTOBUF_NDEBUG_INLINE Contact::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : name_(arena, from.name_),
        url_(arena, from.url_),
        email_(arena, from.email_),
        _cached_size_{0} {}

Contact::Contact(
    ::google::protobuf::Arena* arena,
    const Contact& from)
    : ::google::protobuf::Message(arena) {
  Contact* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.Contact)
}
inline PROTOBUF_NDEBUG_INLINE Contact::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : name_(arena),
        url_(arena),
        email_(arena),
        _cached_size_{0} {}

inline void Contact::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
Contact::~Contact() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.Contact)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Contact::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.url_.Destroy();
  _impl_.email_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
Contact::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(Contact, _impl_._cached_size_),
              false,
          },
          &Contact::MergeImpl,
          &Contact::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void Contact::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.Contact)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  _impl_.url_.ClearToEmpty();
  _impl_.email_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Contact::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 70, 2> Contact::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_Contact_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Contact>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string name = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(Contact, _impl_.name_)}},
    // string url = 2;
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(Contact, _impl_.url_)}},
    // string email = 3;
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(Contact, _impl_.email_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1;
    {PROTOBUF_FIELD_OFFSET(Contact, _impl_.name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string url = 2;
    {PROTOBUF_FIELD_OFFSET(Contact, _impl_.url_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string email = 3;
    {PROTOBUF_FIELD_OFFSET(Contact, _impl_.email_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\61\4\3\5\0\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.Contact"
    "name"
    "url"
    "email"
  }},
};

::uint8_t* Contact::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.Contact)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1;
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Contact.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string url = 2;
  if (!this->_internal_url().empty()) {
    const std::string& _s = this->_internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Contact.url");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string email = 3;
  if (!this->_internal_email().empty()) {
    const std::string& _s = this->_internal_email();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Contact.email");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.Contact)
  return target;
}

::size_t Contact::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.Contact)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string name = 1;
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // string url = 2;
  if (!this->_internal_url().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_url());
  }

  // string email = 3;
  if (!this->_internal_email().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_email());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void Contact::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<Contact*>(&to_msg);
  auto& from = static_cast<const Contact&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.Contact)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_url().empty()) {
    _this->_internal_set_url(from._internal_url());
  }
  if (!from._internal_email().empty()) {
    _this->_internal_set_email(from._internal_email());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void Contact::CopyFrom(const Contact& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.Contact)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool Contact::IsInitialized() const {
  return true;
}

void Contact::InternalSwap(Contact* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.email_, &other->_impl_.email_, arena);
}

::google::protobuf::Metadata Contact::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[13]);
}
// ===================================================================

class License::_Internal {
 public:
};

License::License(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.License)
}
inline PROTOBUF_NDEBUG_INLINE License::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : name_(arena, from.name_),
        url_(arena, from.url_),
        _cached_size_{0} {}

License::License(
    ::google::protobuf::Arena* arena,
    const License& from)
    : ::google::protobuf::Message(arena) {
  License* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.License)
}
inline PROTOBUF_NDEBUG_INLINE License::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : name_(arena),
        url_(arena),
        _cached_size_{0} {}

inline void License::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
License::~License() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.License)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void License::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.url_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
License::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(License, _impl_._cached_size_),
              false,
          },
          &License::MergeImpl,
          &License::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void License::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.License)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  _impl_.url_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* License::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 65, 2> License::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_License_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::License>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // string url = 2;
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(License, _impl_.url_)}},
    // string name = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(License, _impl_.name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1;
    {PROTOBUF_FIELD_OFFSET(License, _impl_.name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string url = 2;
    {PROTOBUF_FIELD_OFFSET(License, _impl_.url_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\61\4\3\0\0\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.License"
    "name"
    "url"
  }},
};

::uint8_t* License::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.License)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1;
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.License.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string url = 2;
  if (!this->_internal_url().empty()) {
    const std::string& _s = this->_internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.License.url");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.License)
  return target;
}

::size_t License::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.License)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string name = 1;
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // string url = 2;
  if (!this->_internal_url().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_url());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void License::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<License*>(&to_msg);
  auto& from = static_cast<const License&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.License)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_url().empty()) {
    _this->_internal_set_url(from._internal_url());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void License::CopyFrom(const License& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.License)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool License::IsInitialized() const {
  return true;
}

void License::InternalSwap(License* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
}

::google::protobuf::Metadata License::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[14]);
}
// ===================================================================

class ExternalDocumentation::_Internal {
 public:
};

ExternalDocumentation::ExternalDocumentation(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation)
}
inline PROTOBUF_NDEBUG_INLINE ExternalDocumentation::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : description_(arena, from.description_),
        url_(arena, from.url_),
        _cached_size_{0} {}

ExternalDocumentation::ExternalDocumentation(
    ::google::protobuf::Arena* arena,
    const ExternalDocumentation& from)
    : ::google::protobuf::Message(arena) {
  ExternalDocumentation* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation)
}
inline PROTOBUF_NDEBUG_INLINE ExternalDocumentation::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : description_(arena),
        url_(arena),
        _cached_size_{0} {}

inline void ExternalDocumentation::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
ExternalDocumentation::~ExternalDocumentation() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ExternalDocumentation::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.description_.Destroy();
  _impl_.url_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
ExternalDocumentation::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(ExternalDocumentation, _impl_._cached_size_),
              false,
          },
          &ExternalDocumentation::MergeImpl,
          &ExternalDocumentation::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void ExternalDocumentation::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.description_.ClearToEmpty();
  _impl_.url_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ExternalDocumentation::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 86, 2> ExternalDocumentation::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_ExternalDocumentation_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // string url = 2;
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(ExternalDocumentation, _impl_.url_)}},
    // string description = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ExternalDocumentation, _impl_.description_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string description = 1;
    {PROTOBUF_FIELD_OFFSET(ExternalDocumentation, _impl_.description_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string url = 2;
    {PROTOBUF_FIELD_OFFSET(ExternalDocumentation, _impl_.url_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\77\13\3\0\0\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation"
    "description"
    "url"
  }},
};

::uint8_t* ExternalDocumentation::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string description = 1;
  if (!this->_internal_description().empty()) {
    const std::string& _s = this->_internal_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.description");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string url = 2;
  if (!this->_internal_url().empty()) {
    const std::string& _s = this->_internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.url");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation)
  return target;
}

::size_t ExternalDocumentation::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string description = 1;
  if (!this->_internal_description().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_description());
  }

  // string url = 2;
  if (!this->_internal_url().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_url());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void ExternalDocumentation::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<ExternalDocumentation*>(&to_msg);
  auto& from = static_cast<const ExternalDocumentation&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_description().empty()) {
    _this->_internal_set_description(from._internal_description());
  }
  if (!from._internal_url().empty()) {
    _this->_internal_set_url(from._internal_url());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ExternalDocumentation::CopyFrom(const ExternalDocumentation& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ExternalDocumentation::IsInitialized() const {
  return true;
}

void ExternalDocumentation::InternalSwap(ExternalDocumentation* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
}

::google::protobuf::Metadata ExternalDocumentation::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[15]);
}
// ===================================================================

class Schema::_Internal {
 public:
  using HasBits = decltype(std::declval<Schema>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Schema, _impl_._has_bits_);
};

Schema::Schema(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.Schema)
}
inline PROTOBUF_NDEBUG_INLINE Schema::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        discriminator_(arena, from.discriminator_),
        example_(arena, from.example_) {}

Schema::Schema(
    ::google::protobuf::Arena* arena,
    const Schema& from)
    : ::google::protobuf::Message(arena) {
  Schema* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.json_schema_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema>(
                              arena, *from._impl_.json_schema_)
                        : nullptr;
  _impl_.external_docs_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(
                              arena, *from._impl_.external_docs_)
                        : nullptr;
  _impl_.read_only_ = from._impl_.read_only_;

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.Schema)
}
inline PROTOBUF_NDEBUG_INLINE Schema::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        discriminator_(arena),
        example_(arena) {}

inline void Schema::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, json_schema_),
           0,
           offsetof(Impl_, read_only_) -
               offsetof(Impl_, json_schema_) +
               sizeof(Impl_::read_only_));
}
Schema::~Schema() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.Schema)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Schema::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.discriminator_.Destroy();
  _impl_.example_.Destroy();
  delete _impl_.json_schema_;
  delete _impl_.external_docs_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
Schema::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(Schema, _impl_._cached_size_),
              false,
          },
          &Schema::MergeImpl,
          &Schema::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void Schema::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.Schema)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.discriminator_.ClearToEmpty();
  _impl_.example_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.json_schema_ != nullptr);
      _impl_.json_schema_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.external_docs_ != nullptr);
      _impl_.external_docs_->Clear();
    }
  }
  _impl_.read_only_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Schema::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 77, 2> Schema::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(Schema, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967240,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Schema_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Schema>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema json_schema = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(Schema, _impl_.json_schema_)}},
    // string discriminator = 2;
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(Schema, _impl_.discriminator_)}},
    // bool read_only = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Schema, _impl_.read_only_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(Schema, _impl_.read_only_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 5;
    {::_pbi::TcParser::FastMtS1,
     {42, 1, 1, PROTOBUF_FIELD_OFFSET(Schema, _impl_.external_docs_)}},
    // string example = 6;
    {::_pbi::TcParser::FastUS1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(Schema, _impl_.example_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema json_schema = 1;
    {PROTOBUF_FIELD_OFFSET(Schema, _impl_.json_schema_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string discriminator = 2;
    {PROTOBUF_FIELD_OFFSET(Schema, _impl_.discriminator_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool read_only = 3;
    {PROTOBUF_FIELD_OFFSET(Schema, _impl_.read_only_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 5;
    {PROTOBUF_FIELD_OFFSET(Schema, _impl_.external_docs_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string example = 6;
    {PROTOBUF_FIELD_OFFSET(Schema, _impl_.example_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema>()},
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>()},
  }}, {{
    "\60\0\15\0\0\7\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.Schema"
    "discriminator"
    "example"
  }},
};

::uint8_t* Schema::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.Schema)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema json_schema = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.json_schema_, _impl_.json_schema_->GetCachedSize(), target, stream);
  }

  // string discriminator = 2;
  if (!this->_internal_discriminator().empty()) {
    const std::string& _s = this->_internal_discriminator();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Schema.discriminator");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // bool read_only = 3;
  if (this->_internal_read_only() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_read_only(), target);
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 5;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *_impl_.external_docs_, _impl_.external_docs_->GetCachedSize(), target, stream);
  }

  // string example = 6;
  if (!this->_internal_example().empty()) {
    const std::string& _s = this->_internal_example();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Schema.example");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.Schema)
  return target;
}

::size_t Schema::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.Schema)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string discriminator = 2;
  if (!this->_internal_discriminator().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_discriminator());
  }

  // string example = 6;
  if (!this->_internal_example().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_example());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema json_schema = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.json_schema_);
    }

    // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 5;
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.external_docs_);
    }

  }
  // bool read_only = 3;
  if (this->_internal_read_only() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void Schema::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<Schema*>(&to_msg);
  auto& from = static_cast<const Schema&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.Schema)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_discriminator().empty()) {
    _this->_internal_set_discriminator(from._internal_discriminator());
  }
  if (!from._internal_example().empty()) {
    _this->_internal_set_example(from._internal_example());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.json_schema_ != nullptr);
      if (_this->_impl_.json_schema_ == nullptr) {
        _this->_impl_.json_schema_ =
            ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema>(arena, *from._impl_.json_schema_);
      } else {
        _this->_impl_.json_schema_->MergeFrom(*from._impl_.json_schema_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.external_docs_ != nullptr);
      if (_this->_impl_.external_docs_ == nullptr) {
        _this->_impl_.external_docs_ =
            ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(arena, *from._impl_.external_docs_);
      } else {
        _this->_impl_.external_docs_->MergeFrom(*from._impl_.external_docs_);
      }
    }
  }
  if (from._internal_read_only() != 0) {
    _this->_impl_.read_only_ = from._impl_.read_only_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void Schema::CopyFrom(const Schema& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.Schema)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool Schema::IsInitialized() const {
  return true;
}

void Schema::InternalSwap(Schema* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.discriminator_, &other->_impl_.discriminator_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.example_, &other->_impl_.example_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Schema, _impl_.read_only_)
      + sizeof(Schema::_impl_.read_only_)
      - PROTOBUF_FIELD_OFFSET(Schema, _impl_.json_schema_)>(
          reinterpret_cast<char*>(&_impl_.json_schema_),
          reinterpret_cast<char*>(&other->_impl_.json_schema_));
}

::google::protobuf::Metadata Schema::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[16]);
}
// ===================================================================

class JSONSchema_FieldConfiguration::_Internal {
 public:
};

JSONSchema_FieldConfiguration::JSONSchema_FieldConfiguration(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration)
}
inline PROTOBUF_NDEBUG_INLINE JSONSchema_FieldConfiguration::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : path_param_name_(arena, from.path_param_name_),
        _cached_size_{0} {}

JSONSchema_FieldConfiguration::JSONSchema_FieldConfiguration(
    ::google::protobuf::Arena* arena,
    const JSONSchema_FieldConfiguration& from)
    : ::google::protobuf::Message(arena) {
  JSONSchema_FieldConfiguration* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration)
}
inline PROTOBUF_NDEBUG_INLINE JSONSchema_FieldConfiguration::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : path_param_name_(arena),
        _cached_size_{0} {}

inline void JSONSchema_FieldConfiguration::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
JSONSchema_FieldConfiguration::~JSONSchema_FieldConfiguration() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JSONSchema_FieldConfiguration::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.path_param_name_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
JSONSchema_FieldConfiguration::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(JSONSchema_FieldConfiguration, _impl_._cached_size_),
              false,
          },
          &JSONSchema_FieldConfiguration::MergeImpl,
          &JSONSchema_FieldConfiguration::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void JSONSchema_FieldConfiguration::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.path_param_name_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JSONSchema_FieldConfiguration::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 95, 7> JSONSchema_FieldConfiguration::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    47, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967295,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_JSONSchema_FieldConfiguration_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // string path_param_name = 47;
    {::_pbi::TcParser::FastUS2,
     {762, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema_FieldConfiguration, _impl_.path_param_name_)}},
  }}, {{
    47, 0, 1,
    65534, 0,
    65535, 65535
  }}, {{
    // string path_param_name = 47;
    {PROTOBUF_FIELD_OFFSET(JSONSchema_FieldConfiguration, _impl_.path_param_name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\107\17\0\0\0\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration"
    "path_param_name"
  }},
};

::uint8_t* JSONSchema_FieldConfiguration::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string path_param_name = 47;
  if (!this->_internal_path_param_name().empty()) {
    const std::string& _s = this->_internal_path_param_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration.path_param_name");
    target = stream->WriteStringMaybeAliased(47, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration)
  return target;
}

::size_t JSONSchema_FieldConfiguration::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string path_param_name = 47;
  if (!this->_internal_path_param_name().empty()) {
    total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_path_param_name());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void JSONSchema_FieldConfiguration::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<JSONSchema_FieldConfiguration*>(&to_msg);
  auto& from = static_cast<const JSONSchema_FieldConfiguration&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_path_param_name().empty()) {
    _this->_internal_set_path_param_name(from._internal_path_param_name());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void JSONSchema_FieldConfiguration::CopyFrom(const JSONSchema_FieldConfiguration& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool JSONSchema_FieldConfiguration::IsInitialized() const {
  return true;
}

void JSONSchema_FieldConfiguration::InternalSwap(JSONSchema_FieldConfiguration* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.path_param_name_, &other->_impl_.path_param_name_, arena);
}

::google::protobuf::Metadata JSONSchema_FieldConfiguration::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[17]);
}
// ===================================================================

JSONSchema_ExtensionsEntry_DoNotUse::JSONSchema_ExtensionsEntry_DoNotUse() {}
JSONSchema_ExtensionsEntry_DoNotUse::JSONSchema_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata JSONSchema_ExtensionsEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[18]);
}
// ===================================================================

class JSONSchema::_Internal {
 public:
  using HasBits = decltype(std::declval<JSONSchema>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_._has_bits_);
};

void JSONSchema::clear_extensions() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  _impl_.extensions_.Clear();
}
JSONSchema::JSONSchema(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema)
}
inline PROTOBUF_NDEBUG_INLINE JSONSchema::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        required_{visibility, arena, from.required_},
        array_{visibility, arena, from.array_},
        type_{visibility, arena, from.type_},
        _type_cached_byte_size_{0},
        enum__{visibility, arena, from.enum__},
        extensions_{visibility, arena, from.extensions_},
        ref_(arena, from.ref_),
        title_(arena, from.title_),
        description_(arena, from.description_),
        default__(arena, from.default__),
        example_(arena, from.example_),
        pattern_(arena, from.pattern_),
        format_(arena, from.format_) {}

JSONSchema::JSONSchema(
    ::google::protobuf::Arena* arena,
    const JSONSchema& from)
    : ::google::protobuf::Message(arena) {
  JSONSchema* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.field_configuration_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration>(
                              arena, *from._impl_.field_configuration_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, multiple_of_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, multiple_of_),
           offsetof(Impl_, unique_items_) -
               offsetof(Impl_, multiple_of_) +
               sizeof(Impl_::unique_items_));

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema)
}
inline PROTOBUF_NDEBUG_INLINE JSONSchema::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        required_{visibility, arena},
        array_{visibility, arena},
        type_{visibility, arena},
        _type_cached_byte_size_{0},
        enum__{visibility, arena},
        extensions_{visibility, arena},
        ref_(arena),
        title_(arena),
        description_(arena),
        default__(arena),
        example_(arena),
        pattern_(arena),
        format_(arena) {}

inline void JSONSchema::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, field_configuration_),
           0,
           offsetof(Impl_, unique_items_) -
               offsetof(Impl_, field_configuration_) +
               sizeof(Impl_::unique_items_));
}
JSONSchema::~JSONSchema() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JSONSchema::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.ref_.Destroy();
  _impl_.title_.Destroy();
  _impl_.description_.Destroy();
  _impl_.default__.Destroy();
  _impl_.example_.Destroy();
  _impl_.pattern_.Destroy();
  _impl_.format_.Destroy();
  delete _impl_.field_configuration_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
JSONSchema::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_._cached_size_),
              false,
          },
          &JSONSchema::MergeImpl,
          &JSONSchema::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void JSONSchema::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.required_.Clear();
  _impl_.array_.Clear();
  _impl_.type_.Clear();
  _impl_.enum__.Clear();
  _impl_.extensions_.Clear();
  _impl_.ref_.ClearToEmpty();
  _impl_.title_.ClearToEmpty();
  _impl_.description_.ClearToEmpty();
  _impl_.default__.ClearToEmpty();
  _impl_.example_.ClearToEmpty();
  _impl_.pattern_.ClearToEmpty();
  _impl_.format_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.field_configuration_ != nullptr);
    _impl_.field_configuration_->Clear();
  }
  ::memset(&_impl_.multiple_of_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.unique_items_) -
      reinterpret_cast<char*>(&_impl_.multiple_of_)) + sizeof(_impl_.unique_items_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JSONSchema::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 26, 3, 158, 12> JSONSchema::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_._has_bits_),
    0, // no _extensions_
    1001, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4232445963,  // skipmap
    offsetof(decltype(_table_), field_entries),
    26,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JSONSchema_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // string ref = 3;
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.ref_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // string title = 5;
    {::_pbi::TcParser::FastUS1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.title_)}},
    // string description = 6;
    {::_pbi::TcParser::FastUS1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.description_)}},
    // string default = 7;
    {::_pbi::TcParser::FastUS1,
     {58, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.default__)}},
    // bool read_only = 8;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JSONSchema, _impl_.read_only_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.read_only_)}},
    // string example = 9;
    {::_pbi::TcParser::FastUS1,
     {74, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.example_)}},
    // double multiple_of = 10;
    {::_pbi::TcParser::FastF64S1,
     {81, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.multiple_of_)}},
    // double maximum = 11;
    {::_pbi::TcParser::FastF64S1,
     {89, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.maximum_)}},
    // bool exclusive_maximum = 12;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JSONSchema, _impl_.exclusive_maximum_), 63>(),
     {96, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.exclusive_maximum_)}},
    // double minimum = 13;
    {::_pbi::TcParser::FastF64S1,
     {105, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.minimum_)}},
    // bool exclusive_minimum = 14;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JSONSchema, _impl_.exclusive_minimum_), 63>(),
     {112, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.exclusive_minimum_)}},
    // uint64 max_length = 15;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(JSONSchema, _impl_.max_length_), 63>(),
     {120, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.max_length_)}},
    // uint64 min_length = 16;
    {::_pbi::TcParser::FastV64S2,
     {384, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.min_length_)}},
    // string pattern = 17;
    {::_pbi::TcParser::FastUS2,
     {394, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.pattern_)}},
    // repeated string array = 34;
    {::_pbi::TcParser::FastUR2,
     {658, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.array_)}},
    // repeated .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.JSONSchemaSimpleTypes type = 35;
    {::_pbi::TcParser::FastV32P2,
     {666, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.type_)}},
    // uint64 max_items = 20;
    {::_pbi::TcParser::FastV64S2,
     {416, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.max_items_)}},
    // uint64 min_items = 21;
    {::_pbi::TcParser::FastV64S2,
     {424, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.min_items_)}},
    // bool unique_items = 22;
    {::_pbi::TcParser::FastV8S2,
     {432, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.unique_items_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // uint64 max_properties = 24;
    {::_pbi::TcParser::FastV64S2,
     {448, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.max_properties_)}},
    // uint64 min_properties = 25;
    {::_pbi::TcParser::FastV64S2,
     {456, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.min_properties_)}},
    // repeated string required = 26;
    {::_pbi::TcParser::FastUR2,
     {466, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.required_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // repeated string enum = 46;
    {::_pbi::TcParser::FastUR2,
     {754, 63, 0, PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.enum__)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    34, 0, 1,
    45048, 20,1001, 0, 1,
     65534, 25,
    65535, 65535
  }}, {{
    // string ref = 3;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.ref_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string title = 5;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.title_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string description = 6;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.description_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string default = 7;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.default__), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool read_only = 8;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.read_only_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // string example = 9;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.example_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // double multiple_of = 10;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.multiple_of_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kDouble)},
    // double maximum = 11;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.maximum_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kDouble)},
    // bool exclusive_maximum = 12;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.exclusive_maximum_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // double minimum = 13;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.minimum_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kDouble)},
    // bool exclusive_minimum = 14;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.exclusive_minimum_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // uint64 max_length = 15;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.max_length_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 min_length = 16;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.min_length_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // string pattern = 17;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.pattern_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // uint64 max_items = 20;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.max_items_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 min_items = 21;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.min_items_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // bool unique_items = 22;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.unique_items_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // uint64 max_properties = 24;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.max_properties_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 min_properties = 25;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.min_properties_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // repeated string required = 26;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.required_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    // repeated string array = 34;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.array_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    // repeated .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.JSONSchemaSimpleTypes type = 35;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.type_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
    // string format = 36;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.format_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated string enum = 46;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.enum__), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    // map<string, .google.protobuf.Value> extensions = 48;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.extensions_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
    // .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration field_configuration = 1001;
    {PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.field_configuration_), _Internal::kHasBitsOffset + 0, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(JSONSchema()._impl_.extensions_)>(
        1, 0, 0, 9,
        11)},
    {::_pbi::TcParser::CreateInArenaStorageCb<::google::protobuf::Value>},
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration>()},
  }}, {{
    "\64\3\5\13\7\0\7\0\0\0\0\0\0\0\7\0\0\0\0\0\10\5\0\6\4\12\0\0\0\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema"
    "ref"
    "title"
    "description"
    "default"
    "example"
    "pattern"
    "required"
    "array"
    "format"
    "enum"
    "extensions"
  }},
};

::uint8_t* JSONSchema::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string ref = 3;
  if (!this->_internal_ref().empty()) {
    const std::string& _s = this->_internal_ref();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.ref");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string title = 5;
  if (!this->_internal_title().empty()) {
    const std::string& _s = this->_internal_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.title");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // string description = 6;
  if (!this->_internal_description().empty()) {
    const std::string& _s = this->_internal_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.description");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // string default = 7;
  if (!this->_internal_default_().empty()) {
    const std::string& _s = this->_internal_default_();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.default");
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  // bool read_only = 8;
  if (this->_internal_read_only() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this->_internal_read_only(), target);
  }

  // string example = 9;
  if (!this->_internal_example().empty()) {
    const std::string& _s = this->_internal_example();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.example");
    target = stream->WriteStringMaybeAliased(9, _s, target);
  }

  // double multiple_of = 10;
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_multiple_of = this->_internal_multiple_of();
  ::uint64_t raw_multiple_of;
  memcpy(&raw_multiple_of, &tmp_multiple_of, sizeof(tmp_multiple_of));
  if (raw_multiple_of != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        10, this->_internal_multiple_of(), target);
  }

  // double maximum = 11;
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_maximum = this->_internal_maximum();
  ::uint64_t raw_maximum;
  memcpy(&raw_maximum, &tmp_maximum, sizeof(tmp_maximum));
  if (raw_maximum != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        11, this->_internal_maximum(), target);
  }

  // bool exclusive_maximum = 12;
  if (this->_internal_exclusive_maximum() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        12, this->_internal_exclusive_maximum(), target);
  }

  // double minimum = 13;
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_minimum = this->_internal_minimum();
  ::uint64_t raw_minimum;
  memcpy(&raw_minimum, &tmp_minimum, sizeof(tmp_minimum));
  if (raw_minimum != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        13, this->_internal_minimum(), target);
  }

  // bool exclusive_minimum = 14;
  if (this->_internal_exclusive_minimum() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        14, this->_internal_exclusive_minimum(), target);
  }

  // uint64 max_length = 15;
  if (this->_internal_max_length() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        15, this->_internal_max_length(), target);
  }

  // uint64 min_length = 16;
  if (this->_internal_min_length() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        16, this->_internal_min_length(), target);
  }

  // string pattern = 17;
  if (!this->_internal_pattern().empty()) {
    const std::string& _s = this->_internal_pattern();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.pattern");
    target = stream->WriteStringMaybeAliased(17, _s, target);
  }

  // uint64 max_items = 20;
  if (this->_internal_max_items() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        20, this->_internal_max_items(), target);
  }

  // uint64 min_items = 21;
  if (this->_internal_min_items() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        21, this->_internal_min_items(), target);
  }

  // bool unique_items = 22;
  if (this->_internal_unique_items() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        22, this->_internal_unique_items(), target);
  }

  // uint64 max_properties = 24;
  if (this->_internal_max_properties() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        24, this->_internal_max_properties(), target);
  }

  // uint64 min_properties = 25;
  if (this->_internal_min_properties() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        25, this->_internal_min_properties(), target);
  }

  // repeated string required = 26;
  for (int i = 0, n = this->_internal_required_size(); i < n; ++i) {
    const auto& s = this->_internal_required().Get(i);
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.required");
    target = stream->WriteString(26, s, target);
  }

  // repeated string array = 34;
  for (int i = 0, n = this->_internal_array_size(); i < n; ++i) {
    const auto& s = this->_internal_array().Get(i);
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.array");
    target = stream->WriteString(34, s, target);
  }

  // repeated .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.JSONSchemaSimpleTypes type = 35;
  {
    std::size_t byte_size = _impl_._type_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(35, _internal_type(),
                                       byte_size, target);
    }
  }

  // string format = 36;
  if (!this->_internal_format().empty()) {
    const std::string& _s = this->_internal_format();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.format");
    target = stream->WriteStringMaybeAliased(36, _s, target);
  }

  // repeated string enum = 46;
  for (int i = 0, n = this->_internal_enum__size(); i < n; ++i) {
    const auto& s = this->_internal_enum_().Get(i);
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.enum");
    target = stream->WriteString(46, s, target);
  }

  // map<string, .google.protobuf.Value> extensions = 48;
  if (!_internal_extensions().empty()) {
    using MapType = ::google::protobuf::Map<std::string, ::google::protobuf::Value>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>;
    const auto& field = _internal_extensions();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            48, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.extensions");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            48, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.extensions");
      }
    }
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration field_configuration = 1001;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1001, *_impl_.field_configuration_, _impl_.field_configuration_->GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema)
  return target;
}

::size_t JSONSchema::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string required = 26;
  total_size += 2 * ::google::protobuf::internal::FromIntSize(_internal_required().size());
  for (int i = 0, n = _internal_required().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        _internal_required().Get(i));
  }
  // repeated string array = 34;
  total_size += 2 * ::google::protobuf::internal::FromIntSize(_internal_array().size());
  for (int i = 0, n = _internal_array().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        _internal_array().Get(i));
  }
  // repeated .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.JSONSchemaSimpleTypes type = 35;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_type_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_type().Get(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 2;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._type_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }
  // repeated string enum = 46;
  total_size += 2 * ::google::protobuf::internal::FromIntSize(_internal_enum_().size());
  for (int i = 0, n = _internal_enum_().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        _internal_enum_().Get(i));
  }
  // map<string, .google.protobuf.Value> extensions = 48;
  total_size += 2 * ::google::protobuf::internal::FromIntSize(_internal_extensions_size());
  for (const auto& entry : _internal_extensions()) {
    total_size += _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second);
  }
  // string ref = 3;
  if (!this->_internal_ref().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_ref());
  }

  // string title = 5;
  if (!this->_internal_title().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_title());
  }

  // string description = 6;
  if (!this->_internal_description().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_description());
  }

  // string default = 7;
  if (!this->_internal_default_().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_default_());
  }

  // string example = 9;
  if (!this->_internal_example().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_example());
  }

  // string pattern = 17;
  if (!this->_internal_pattern().empty()) {
    total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_pattern());
  }

  // string format = 36;
  if (!this->_internal_format().empty()) {
    total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_format());
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration field_configuration = 1001;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.field_configuration_);
  }

  // double multiple_of = 10;
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_multiple_of = this->_internal_multiple_of();
  ::uint64_t raw_multiple_of;
  memcpy(&raw_multiple_of, &tmp_multiple_of, sizeof(tmp_multiple_of));
  if (raw_multiple_of != 0) {
    total_size += 9;
  }

  // double maximum = 11;
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_maximum = this->_internal_maximum();
  ::uint64_t raw_maximum;
  memcpy(&raw_maximum, &tmp_maximum, sizeof(tmp_maximum));
  if (raw_maximum != 0) {
    total_size += 9;
  }

  // double minimum = 13;
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_minimum = this->_internal_minimum();
  ::uint64_t raw_minimum;
  memcpy(&raw_minimum, &tmp_minimum, sizeof(tmp_minimum));
  if (raw_minimum != 0) {
    total_size += 9;
  }

  // uint64 max_length = 15;
  if (this->_internal_max_length() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_max_length());
  }

  // uint64 min_length = 16;
  if (this->_internal_min_length() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                    this->_internal_min_length());
  }

  // uint64 max_items = 20;
  if (this->_internal_max_items() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                    this->_internal_max_items());
  }

  // uint64 min_items = 21;
  if (this->_internal_min_items() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                    this->_internal_min_items());
  }

  // uint64 max_properties = 24;
  if (this->_internal_max_properties() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                    this->_internal_max_properties());
  }

  // uint64 min_properties = 25;
  if (this->_internal_min_properties() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                    this->_internal_min_properties());
  }

  // bool read_only = 8;
  if (this->_internal_read_only() != 0) {
    total_size += 2;
  }

  // bool exclusive_maximum = 12;
  if (this->_internal_exclusive_maximum() != 0) {
    total_size += 2;
  }

  // bool exclusive_minimum = 14;
  if (this->_internal_exclusive_minimum() != 0) {
    total_size += 2;
  }

  // bool unique_items = 22;
  if (this->_internal_unique_items() != 0) {
    total_size += 3;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void JSONSchema::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<JSONSchema*>(&to_msg);
  auto& from = static_cast<const JSONSchema&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_required()->MergeFrom(from._internal_required());
  _this->_internal_mutable_array()->MergeFrom(from._internal_array());
  _this->_internal_mutable_type()->MergeFrom(from._internal_type());
  _this->_internal_mutable_enum_()->MergeFrom(from._internal_enum_());
  _this->_impl_.extensions_.MergeFrom(from._impl_.extensions_);
  if (!from._internal_ref().empty()) {
    _this->_internal_set_ref(from._internal_ref());
  }
  if (!from._internal_title().empty()) {
    _this->_internal_set_title(from._internal_title());
  }
  if (!from._internal_description().empty()) {
    _this->_internal_set_description(from._internal_description());
  }
  if (!from._internal_default_().empty()) {
    _this->_internal_set_default_(from._internal_default_());
  }
  if (!from._internal_example().empty()) {
    _this->_internal_set_example(from._internal_example());
  }
  if (!from._internal_pattern().empty()) {
    _this->_internal_set_pattern(from._internal_pattern());
  }
  if (!from._internal_format().empty()) {
    _this->_internal_set_format(from._internal_format());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.field_configuration_ != nullptr);
    if (_this->_impl_.field_configuration_ == nullptr) {
      _this->_impl_.field_configuration_ =
          ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration>(arena, *from._impl_.field_configuration_);
    } else {
      _this->_impl_.field_configuration_->MergeFrom(*from._impl_.field_configuration_);
    }
  }
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_multiple_of = from._internal_multiple_of();
  ::uint64_t raw_multiple_of;
  memcpy(&raw_multiple_of, &tmp_multiple_of, sizeof(tmp_multiple_of));
  if (raw_multiple_of != 0) {
    _this->_impl_.multiple_of_ = from._impl_.multiple_of_;
  }
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_maximum = from._internal_maximum();
  ::uint64_t raw_maximum;
  memcpy(&raw_maximum, &tmp_maximum, sizeof(tmp_maximum));
  if (raw_maximum != 0) {
    _this->_impl_.maximum_ = from._impl_.maximum_;
  }
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_minimum = from._internal_minimum();
  ::uint64_t raw_minimum;
  memcpy(&raw_minimum, &tmp_minimum, sizeof(tmp_minimum));
  if (raw_minimum != 0) {
    _this->_impl_.minimum_ = from._impl_.minimum_;
  }
  if (from._internal_max_length() != 0) {
    _this->_impl_.max_length_ = from._impl_.max_length_;
  }
  if (from._internal_min_length() != 0) {
    _this->_impl_.min_length_ = from._impl_.min_length_;
  }
  if (from._internal_max_items() != 0) {
    _this->_impl_.max_items_ = from._impl_.max_items_;
  }
  if (from._internal_min_items() != 0) {
    _this->_impl_.min_items_ = from._impl_.min_items_;
  }
  if (from._internal_max_properties() != 0) {
    _this->_impl_.max_properties_ = from._impl_.max_properties_;
  }
  if (from._internal_min_properties() != 0) {
    _this->_impl_.min_properties_ = from._impl_.min_properties_;
  }
  if (from._internal_read_only() != 0) {
    _this->_impl_.read_only_ = from._impl_.read_only_;
  }
  if (from._internal_exclusive_maximum() != 0) {
    _this->_impl_.exclusive_maximum_ = from._impl_.exclusive_maximum_;
  }
  if (from._internal_exclusive_minimum() != 0) {
    _this->_impl_.exclusive_minimum_ = from._impl_.exclusive_minimum_;
  }
  if (from._internal_unique_items() != 0) {
    _this->_impl_.unique_items_ = from._impl_.unique_items_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void JSONSchema::CopyFrom(const JSONSchema& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool JSONSchema::IsInitialized() const {
  return true;
}

void JSONSchema::InternalSwap(JSONSchema* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.required_.InternalSwap(&other->_impl_.required_);
  _impl_.array_.InternalSwap(&other->_impl_.array_);
  _impl_.type_.InternalSwap(&other->_impl_.type_);
  _impl_.enum__.InternalSwap(&other->_impl_.enum__);
  _impl_.extensions_.InternalSwap(&other->_impl_.extensions_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ref_, &other->_impl_.ref_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, &other->_impl_.title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.default__, &other->_impl_.default__, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.example_, &other->_impl_.example_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.pattern_, &other->_impl_.pattern_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.format_, &other->_impl_.format_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.unique_items_)
      + sizeof(JSONSchema::_impl_.unique_items_)
      - PROTOBUF_FIELD_OFFSET(JSONSchema, _impl_.field_configuration_)>(
          reinterpret_cast<char*>(&_impl_.field_configuration_),
          reinterpret_cast<char*>(&other->_impl_.field_configuration_));
}

::google::protobuf::Metadata JSONSchema::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[19]);
}
// ===================================================================

class Tag::_Internal {
 public:
  using HasBits = decltype(std::declval<Tag>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Tag, _impl_._has_bits_);
};

Tag::Tag(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.Tag)
}
inline PROTOBUF_NDEBUG_INLINE Tag::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        description_(arena, from.description_) {}

Tag::Tag(
    ::google::protobuf::Arena* arena,
    const Tag& from)
    : ::google::protobuf::Message(arena) {
  Tag* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.external_docs_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(
                              arena, *from._impl_.external_docs_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.Tag)
}
inline PROTOBUF_NDEBUG_INLINE Tag::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        description_(arena) {}

inline void Tag::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.external_docs_ = {};
}
Tag::~Tag() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.Tag)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Tag::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.description_.Destroy();
  delete _impl_.external_docs_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
Tag::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(Tag, _impl_._cached_size_),
              false,
          },
          &Tag::MergeImpl,
          &Tag::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void Tag::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.Tag)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.description_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.external_docs_ != nullptr);
    _impl_.external_docs_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Tag::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 65, 2> Tag::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(Tag, _impl_._has_bits_),
    0, // no _extensions_
    3, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967289,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Tag_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Tag>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // string description = 2;
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(Tag, _impl_.description_)}},
    // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 3;
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(Tag, _impl_.external_docs_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string description = 2;
    {PROTOBUF_FIELD_OFFSET(Tag, _impl_.description_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 3;
    {PROTOBUF_FIELD_OFFSET(Tag, _impl_.external_docs_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>()},
  }}, {{
    "\55\13\0\0\0\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.Tag"
    "description"
  }},
};

::uint8_t* Tag::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.Tag)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string description = 2;
  if (!this->_internal_description().empty()) {
    const std::string& _s = this->_internal_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Tag.description");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 3;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *_impl_.external_docs_, _impl_.external_docs_->GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.Tag)
  return target;
}

::size_t Tag::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.Tag)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string description = 2;
  if (!this->_internal_description().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_description());
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 3;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.external_docs_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void Tag::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<Tag*>(&to_msg);
  auto& from = static_cast<const Tag&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.Tag)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_description().empty()) {
    _this->_internal_set_description(from._internal_description());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.external_docs_ != nullptr);
    if (_this->_impl_.external_docs_ == nullptr) {
      _this->_impl_.external_docs_ =
          ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(arena, *from._impl_.external_docs_);
    } else {
      _this->_impl_.external_docs_->MergeFrom(*from._impl_.external_docs_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void Tag::CopyFrom(const Tag& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.Tag)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool Tag::IsInitialized() const {
  return true;
}

void Tag::InternalSwap(Tag* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  swap(_impl_.external_docs_, other->_impl_.external_docs_);
}

::google::protobuf::Metadata Tag::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[20]);
}
// ===================================================================

SecurityDefinitions_SecurityEntry_DoNotUse::SecurityDefinitions_SecurityEntry_DoNotUse() {}
SecurityDefinitions_SecurityEntry_DoNotUse::SecurityDefinitions_SecurityEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata SecurityDefinitions_SecurityEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[21]);
}
// ===================================================================

class SecurityDefinitions::_Internal {
 public:
};

SecurityDefinitions::SecurityDefinitions(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions)
}
inline PROTOBUF_NDEBUG_INLINE SecurityDefinitions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : security_{visibility, arena, from.security_},
        _cached_size_{0} {}

SecurityDefinitions::SecurityDefinitions(
    ::google::protobuf::Arena* arena,
    const SecurityDefinitions& from)
    : ::google::protobuf::Message(arena) {
  SecurityDefinitions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions)
}
inline PROTOBUF_NDEBUG_INLINE SecurityDefinitions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : security_{visibility, arena},
        _cached_size_{0} {}

inline void SecurityDefinitions::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SecurityDefinitions::~SecurityDefinitions() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SecurityDefinitions::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
SecurityDefinitions::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(SecurityDefinitions, _impl_._cached_size_),
              false,
          },
          &SecurityDefinitions::MergeImpl,
          &SecurityDefinitions::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void SecurityDefinitions::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.security_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SecurityDefinitions::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 2, 78, 2> SecurityDefinitions::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SecurityDefinitions_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // map<string, .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme> security = 1;
    {PROTOBUF_FIELD_OFFSET(SecurityDefinitions, _impl_.security_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
  }}, {{
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(SecurityDefinitions()._impl_.security_)>(
        1, 0, 0, 9,
        11)},
    {::_pbi::TcParser::CreateInArenaStorageCb<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme>},
  }}, {{
    "\75\10\0\0\0\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions"
    "security"
  }},
};

::uint8_t* SecurityDefinitions::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme> security = 1;
  if (!_internal_security().empty()) {
    using MapType = ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>;
    const auto& field = _internal_security();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            1, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions.security");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            1, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions.security");
      }
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions)
  return target;
}

::size_t SecurityDefinitions::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme> security = 1;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_security_size());
  for (const auto& entry : _internal_security()) {
    total_size += _pbi::MapEntryFuncs<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void SecurityDefinitions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SecurityDefinitions*>(&to_msg);
  auto& from = static_cast<const SecurityDefinitions&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.security_.MergeFrom(from._impl_.security_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SecurityDefinitions::CopyFrom(const SecurityDefinitions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SecurityDefinitions::IsInitialized() const {
  return true;
}

void SecurityDefinitions::InternalSwap(SecurityDefinitions* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.security_.InternalSwap(&other->_impl_.security_);
}

::google::protobuf::Metadata SecurityDefinitions::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[22]);
}
// ===================================================================

SecurityScheme_ExtensionsEntry_DoNotUse::SecurityScheme_ExtensionsEntry_DoNotUse() {}
SecurityScheme_ExtensionsEntry_DoNotUse::SecurityScheme_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata SecurityScheme_ExtensionsEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[23]);
}
// ===================================================================

class SecurityScheme::_Internal {
 public:
  using HasBits = decltype(std::declval<SecurityScheme>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_._has_bits_);
};

void SecurityScheme::clear_extensions() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  _impl_.extensions_.Clear();
}
SecurityScheme::SecurityScheme(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme)
}
inline PROTOBUF_NDEBUG_INLINE SecurityScheme::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        extensions_{visibility, arena, from.extensions_},
        description_(arena, from.description_),
        name_(arena, from.name_),
        authorization_url_(arena, from.authorization_url_),
        token_url_(arena, from.token_url_) {}

SecurityScheme::SecurityScheme(
    ::google::protobuf::Arena* arena,
    const SecurityScheme& from)
    : ::google::protobuf::Message(arena) {
  SecurityScheme* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.scopes_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Scopes>(
                              arena, *from._impl_.scopes_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, type_),
           offsetof(Impl_, flow_) -
               offsetof(Impl_, type_) +
               sizeof(Impl_::flow_));

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme)
}
inline PROTOBUF_NDEBUG_INLINE SecurityScheme::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        extensions_{visibility, arena},
        description_(arena),
        name_(arena),
        authorization_url_(arena),
        token_url_(arena) {}

inline void SecurityScheme::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, scopes_),
           0,
           offsetof(Impl_, flow_) -
               offsetof(Impl_, scopes_) +
               sizeof(Impl_::flow_));
}
SecurityScheme::~SecurityScheme() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SecurityScheme::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.description_.Destroy();
  _impl_.name_.Destroy();
  _impl_.authorization_url_.Destroy();
  _impl_.token_url_.Destroy();
  delete _impl_.scopes_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
SecurityScheme::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_._cached_size_),
              false,
          },
          &SecurityScheme::MergeImpl,
          &SecurityScheme::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void SecurityScheme::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.extensions_.Clear();
  _impl_.description_.ClearToEmpty();
  _impl_.name_.ClearToEmpty();
  _impl_.authorization_url_.ClearToEmpty();
  _impl_.token_url_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.scopes_ != nullptr);
    _impl_.scopes_->Clear();
  }
  ::memset(&_impl_.type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.flow_) -
      reinterpret_cast<char*>(&_impl_.type_)) + sizeof(_impl_.flow_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SecurityScheme::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 9, 3, 124, 2> SecurityScheme::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_._has_bits_),
    0, // no _extensions_
    9, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294966784,  // skipmap
    offsetof(decltype(_table_), field_entries),
    9,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SecurityScheme_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .grpc.gateway.protoc_gen_openapiv2.options.Scopes scopes = 8;
    {::_pbi::TcParser::FastMtS1,
     {66, 0, 0, PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.scopes_)}},
    // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Type type = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SecurityScheme, _impl_.type_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.type_)}},
    // string description = 2;
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.description_)}},
    // string name = 3;
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.name_)}},
    // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.In in = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SecurityScheme, _impl_.in_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.in_)}},
    // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Flow flow = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SecurityScheme, _impl_.flow_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.flow_)}},
    // string authorization_url = 6;
    {::_pbi::TcParser::FastUS1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.authorization_url_)}},
    // string token_url = 7;
    {::_pbi::TcParser::FastUS1,
     {58, 63, 0, PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.token_url_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Type type = 1;
    {PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string description = 2;
    {PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.description_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string name = 3;
    {PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.In in = 4;
    {PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.in_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Flow flow = 5;
    {PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.flow_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string authorization_url = 6;
    {PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.authorization_url_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string token_url = 7;
    {PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.token_url_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .grpc.gateway.protoc_gen_openapiv2.options.Scopes scopes = 8;
    {PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.scopes_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // map<string, .google.protobuf.Value> extensions = 9;
    {PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.extensions_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
  }}, {{
    {::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Scopes>()},
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(SecurityScheme()._impl_.extensions_)>(
        1, 0, 0, 9,
        11)},
    {::_pbi::TcParser::CreateInArenaStorageCb<::google::protobuf::Value>},
  }}, {{
    "\70\0\13\4\0\0\21\11\0\12\0\0\0\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme"
    "description"
    "name"
    "authorization_url"
    "token_url"
    "extensions"
  }},
};

::uint8_t* SecurityScheme::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Type type = 1;
  if (this->_internal_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_type(), target);
  }

  // string description = 2;
  if (!this->_internal_description().empty()) {
    const std::string& _s = this->_internal_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.description");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string name = 3;
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.In in = 4;
  if (this->_internal_in() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this->_internal_in(), target);
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Flow flow = 5;
  if (this->_internal_flow() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this->_internal_flow(), target);
  }

  // string authorization_url = 6;
  if (!this->_internal_authorization_url().empty()) {
    const std::string& _s = this->_internal_authorization_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.authorization_url");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // string token_url = 7;
  if (!this->_internal_token_url().empty()) {
    const std::string& _s = this->_internal_token_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.token_url");
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .grpc.gateway.protoc_gen_openapiv2.options.Scopes scopes = 8;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *_impl_.scopes_, _impl_.scopes_->GetCachedSize(), target, stream);
  }

  // map<string, .google.protobuf.Value> extensions = 9;
  if (!_internal_extensions().empty()) {
    using MapType = ::google::protobuf::Map<std::string, ::google::protobuf::Value>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>;
    const auto& field = _internal_extensions();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            9, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.extensions");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            9, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.extensions");
      }
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme)
  return target;
}

::size_t SecurityScheme::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // map<string, .google.protobuf.Value> extensions = 9;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_extensions_size());
  for (const auto& entry : _internal_extensions()) {
    total_size += _pbi::MapEntryFuncs<std::string, ::google::protobuf::Value,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second);
  }
  // string description = 2;
  if (!this->_internal_description().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_description());
  }

  // string name = 3;
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // string authorization_url = 6;
  if (!this->_internal_authorization_url().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_authorization_url());
  }

  // string token_url = 7;
  if (!this->_internal_token_url().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_token_url());
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.Scopes scopes = 8;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.scopes_);
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Type type = 1;
  if (this->_internal_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_type());
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.In in = 4;
  if (this->_internal_in() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_in());
  }

  // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Flow flow = 5;
  if (this->_internal_flow() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_flow());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void SecurityScheme::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SecurityScheme*>(&to_msg);
  auto& from = static_cast<const SecurityScheme&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.extensions_.MergeFrom(from._impl_.extensions_);
  if (!from._internal_description().empty()) {
    _this->_internal_set_description(from._internal_description());
  }
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_authorization_url().empty()) {
    _this->_internal_set_authorization_url(from._internal_authorization_url());
  }
  if (!from._internal_token_url().empty()) {
    _this->_internal_set_token_url(from._internal_token_url());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.scopes_ != nullptr);
    if (_this->_impl_.scopes_ == nullptr) {
      _this->_impl_.scopes_ =
          ::google::protobuf::Message::CopyConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Scopes>(arena, *from._impl_.scopes_);
    } else {
      _this->_impl_.scopes_->MergeFrom(*from._impl_.scopes_);
    }
  }
  if (from._internal_type() != 0) {
    _this->_impl_.type_ = from._impl_.type_;
  }
  if (from._internal_in() != 0) {
    _this->_impl_.in_ = from._impl_.in_;
  }
  if (from._internal_flow() != 0) {
    _this->_impl_.flow_ = from._impl_.flow_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SecurityScheme::CopyFrom(const SecurityScheme& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SecurityScheme::IsInitialized() const {
  return true;
}

void SecurityScheme::InternalSwap(SecurityScheme* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.extensions_.InternalSwap(&other->_impl_.extensions_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.authorization_url_, &other->_impl_.authorization_url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.token_url_, &other->_impl_.token_url_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.flow_)
      + sizeof(SecurityScheme::_impl_.flow_)
      - PROTOBUF_FIELD_OFFSET(SecurityScheme, _impl_.scopes_)>(
          reinterpret_cast<char*>(&_impl_.scopes_),
          reinterpret_cast<char*>(&other->_impl_.scopes_));
}

::google::protobuf::Metadata SecurityScheme::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[24]);
}
// ===================================================================

class SecurityRequirement_SecurityRequirementValue::_Internal {
 public:
};

SecurityRequirement_SecurityRequirementValue::SecurityRequirement_SecurityRequirementValue(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue)
}
inline PROTOBUF_NDEBUG_INLINE SecurityRequirement_SecurityRequirementValue::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : scope_{visibility, arena, from.scope_},
        _cached_size_{0} {}

SecurityRequirement_SecurityRequirementValue::SecurityRequirement_SecurityRequirementValue(
    ::google::protobuf::Arena* arena,
    const SecurityRequirement_SecurityRequirementValue& from)
    : ::google::protobuf::Message(arena) {
  SecurityRequirement_SecurityRequirementValue* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue)
}
inline PROTOBUF_NDEBUG_INLINE SecurityRequirement_SecurityRequirementValue::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : scope_{visibility, arena},
        _cached_size_{0} {}

inline void SecurityRequirement_SecurityRequirementValue::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SecurityRequirement_SecurityRequirementValue::~SecurityRequirement_SecurityRequirementValue() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SecurityRequirement_SecurityRequirementValue::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
SecurityRequirement_SecurityRequirementValue::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(SecurityRequirement_SecurityRequirementValue, _impl_._cached_size_),
              false,
          },
          &SecurityRequirement_SecurityRequirementValue::MergeImpl,
          &SecurityRequirement_SecurityRequirementValue::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void SecurityRequirement_SecurityRequirementValue::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.scope_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SecurityRequirement_SecurityRequirementValue::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 100, 2> SecurityRequirement_SecurityRequirementValue::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_SecurityRequirement_SecurityRequirementValue_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated string scope = 1;
    {::_pbi::TcParser::FastUR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(SecurityRequirement_SecurityRequirementValue, _impl_.scope_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated string scope = 1;
    {PROTOBUF_FIELD_OFFSET(SecurityRequirement_SecurityRequirementValue, _impl_.scope_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
  }},
  // no aux_entries
  {{
    "\126\5\0\0\0\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue"
    "scope"
  }},
};

::uint8_t* SecurityRequirement_SecurityRequirementValue::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated string scope = 1;
  for (int i = 0, n = this->_internal_scope_size(); i < n; ++i) {
    const auto& s = this->_internal_scope().Get(i);
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue.scope");
    target = stream->WriteString(1, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue)
  return target;
}

::size_t SecurityRequirement_SecurityRequirementValue::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string scope = 1;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_scope().size());
  for (int i = 0, n = _internal_scope().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        _internal_scope().Get(i));
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void SecurityRequirement_SecurityRequirementValue::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SecurityRequirement_SecurityRequirementValue*>(&to_msg);
  auto& from = static_cast<const SecurityRequirement_SecurityRequirementValue&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_scope()->MergeFrom(from._internal_scope());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SecurityRequirement_SecurityRequirementValue::CopyFrom(const SecurityRequirement_SecurityRequirementValue& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SecurityRequirement_SecurityRequirementValue::IsInitialized() const {
  return true;
}

void SecurityRequirement_SecurityRequirementValue::InternalSwap(SecurityRequirement_SecurityRequirementValue* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.scope_.InternalSwap(&other->_impl_.scope_);
}

::google::protobuf::Metadata SecurityRequirement_SecurityRequirementValue::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[25]);
}
// ===================================================================

SecurityRequirement_SecurityRequirementEntry_DoNotUse::SecurityRequirement_SecurityRequirementEntry_DoNotUse() {}
SecurityRequirement_SecurityRequirementEntry_DoNotUse::SecurityRequirement_SecurityRequirementEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata SecurityRequirement_SecurityRequirementEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[26]);
}
// ===================================================================

class SecurityRequirement::_Internal {
 public:
};

SecurityRequirement::SecurityRequirement(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement)
}
inline PROTOBUF_NDEBUG_INLINE SecurityRequirement::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : security_requirement_{visibility, arena, from.security_requirement_},
        _cached_size_{0} {}

SecurityRequirement::SecurityRequirement(
    ::google::protobuf::Arena* arena,
    const SecurityRequirement& from)
    : ::google::protobuf::Message(arena) {
  SecurityRequirement* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement)
}
inline PROTOBUF_NDEBUG_INLINE SecurityRequirement::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : security_requirement_{visibility, arena},
        _cached_size_{0} {}

inline void SecurityRequirement::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SecurityRequirement::~SecurityRequirement() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SecurityRequirement::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
SecurityRequirement::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(SecurityRequirement, _impl_._cached_size_),
              false,
          },
          &SecurityRequirement::MergeImpl,
          &SecurityRequirement::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void SecurityRequirement::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.security_requirement_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SecurityRequirement::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 2, 90, 2> SecurityRequirement::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SecurityRequirement_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // map<string, .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue> security_requirement = 1;
    {PROTOBUF_FIELD_OFFSET(SecurityRequirement, _impl_.security_requirement_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
  }}, {{
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(SecurityRequirement()._impl_.security_requirement_)>(
        1, 0, 0, 9,
        11)},
    {::_pbi::TcParser::CreateInArenaStorageCb<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue>},
  }}, {{
    "\75\24\0\0\0\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement"
    "security_requirement"
  }},
};

::uint8_t* SecurityRequirement::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue> security_requirement = 1;
  if (!_internal_security_requirement().empty()) {
    using MapType = ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>;
    const auto& field = _internal_security_requirement();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            1, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.security_requirement");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            1, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.security_requirement");
      }
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement)
  return target;
}

::size_t SecurityRequirement::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue> security_requirement = 1;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_security_requirement_size());
  for (const auto& entry : _internal_security_requirement()) {
    total_size += _pbi::MapEntryFuncs<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void SecurityRequirement::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SecurityRequirement*>(&to_msg);
  auto& from = static_cast<const SecurityRequirement&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.security_requirement_.MergeFrom(from._impl_.security_requirement_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SecurityRequirement::CopyFrom(const SecurityRequirement& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SecurityRequirement::IsInitialized() const {
  return true;
}

void SecurityRequirement::InternalSwap(SecurityRequirement* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.security_requirement_.InternalSwap(&other->_impl_.security_requirement_);
}

::google::protobuf::Metadata SecurityRequirement::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[27]);
}
// ===================================================================

Scopes_ScopeEntry_DoNotUse::Scopes_ScopeEntry_DoNotUse() {}
Scopes_ScopeEntry_DoNotUse::Scopes_ScopeEntry_DoNotUse(::google::protobuf::Arena* arena)
    : SuperType(arena) {}
::google::protobuf::Metadata Scopes_ScopeEntry_DoNotUse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[28]);
}
// ===================================================================

class Scopes::_Internal {
 public:
};

Scopes::Scopes(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:grpc.gateway.protoc_gen_openapiv2.options.Scopes)
}
inline PROTOBUF_NDEBUG_INLINE Scopes::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : scope_{visibility, arena, from.scope_},
        _cached_size_{0} {}

Scopes::Scopes(
    ::google::protobuf::Arena* arena,
    const Scopes& from)
    : ::google::protobuf::Message(arena) {
  Scopes* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:grpc.gateway.protoc_gen_openapiv2.options.Scopes)
}
inline PROTOBUF_NDEBUG_INLINE Scopes::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : scope_{visibility, arena},
        _cached_size_{0} {}

inline void Scopes::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
Scopes::~Scopes() {
  // @@protoc_insertion_point(destructor:grpc.gateway.protoc_gen_openapiv2.options.Scopes)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Scopes::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
Scopes::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(Scopes, _impl_._cached_size_),
              false,
          },
          &Scopes::MergeImpl,
          &Scopes::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void Scopes::Clear() {
// @@protoc_insertion_point(message_clear_start:grpc.gateway.protoc_gen_openapiv2.options.Scopes)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.scope_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Scopes::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 62, 2> Scopes::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Scopes_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::grpc::gateway::protoc_gen_openapiv2::options::Scopes>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // map<string, string> scope = 1;
    {PROTOBUF_FIELD_OFFSET(Scopes, _impl_.scope_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
  }}, {{
    {::_pbi::TcParser::GetMapAuxInfo<
        decltype(Scopes()._impl_.scope_)>(
        1, 0, 0, 9,
        9)},
  }}, {{
    "\60\5\0\0\0\0\0\0"
    "grpc.gateway.protoc_gen_openapiv2.options.Scopes"
    "scope"
  }},
};

::uint8_t* Scopes::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:grpc.gateway.protoc_gen_openapiv2.options.Scopes)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // map<string, string> scope = 1;
  if (!_internal_scope().empty()) {
    using MapType = ::google::protobuf::Map<std::string, std::string>;
    using WireHelper = _pbi::MapEntryFuncs<std::string, std::string,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_STRING>;
    const auto& field = _internal_scope();

    if (stream->IsSerializationDeterministic() && field.size() > 1) {
      for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
        target = WireHelper::InternalSerialize(
            1, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Scopes.scope");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.second.data(), static_cast<int>(entry.second.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Scopes.scope");
      }
    } else {
      for (const auto& entry : field) {
        target = WireHelper::InternalSerialize(
            1, entry.first, entry.second, target, stream);
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.first.data(), static_cast<int>(entry.first.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Scopes.scope");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            entry.second.data(), static_cast<int>(entry.second.length()),
 ::google::protobuf::internal::WireFormatLite::SERIALIZE, "grpc.gateway.protoc_gen_openapiv2.options.Scopes.scope");
      }
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:grpc.gateway.protoc_gen_openapiv2.options.Scopes)
  return target;
}

::size_t Scopes::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:grpc.gateway.protoc_gen_openapiv2.options.Scopes)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // map<string, string> scope = 1;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_scope_size());
  for (const auto& entry : _internal_scope()) {
    total_size += _pbi::MapEntryFuncs<std::string, std::string,
                                   _pbi::WireFormatLite::TYPE_STRING,
                                   _pbi::WireFormatLite::TYPE_STRING>::ByteSizeLong(entry.first, entry.second);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void Scopes::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<Scopes*>(&to_msg);
  auto& from = static_cast<const Scopes&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:grpc.gateway.protoc_gen_openapiv2.options.Scopes)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.scope_.MergeFrom(from._impl_.scope_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void Scopes::CopyFrom(const Scopes& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:grpc.gateway.protoc_gen_openapiv2.options.Scopes)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool Scopes::IsInitialized() const {
  return true;
}

void Scopes::InternalSwap(Scopes* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.scope_.InternalSwap(&other->_impl_.scope_);
}

::google::protobuf::Metadata Scopes::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_getter,
                                   &descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_once,
                                   file_level_metadata_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto[29]);
}
// @@protoc_insertion_point(namespace_scope)
}  // namespace options
}  // namespace protoc_gen_openapiv2
}  // namespace gateway
}  // namespace grpc
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2
static ::std::false_type _static_init_ PROTOBUF_UNUSED =
    (::_pbi::AddDescriptors(&descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto),
     ::std::false_type{});
#include "google/protobuf/port_undef.inc"
